X-Git-Url: https://hackdaworld.org/gitweb/?p=my-code%2Fivac.git;a=blobdiff_plain;f=src%2Fivac.c;fp=src%2Fivac.c;h=12e5f5961f2251ec7a2b16b7f195568323b8c47a;hp=f6a11180a4e6b6e763944368da85ebeba08c83b9;hb=84516616d9547a46e6676ba7e942edc60009345a;hpb=0014e576011872ca7f9609362fa080fd29acbf5a diff --git a/src/ivac.c b/src/ivac.c index f6a1118..12e5f59 100644 --- a/src/ivac.c +++ b/src/ivac.c @@ -342,6 +342,11 @@ int ivac_parse_command(t_input *input,void *ptr) { valid=0; /* refresh prompt content only */ +#ifdef DEBUG + sprintf(debug_string,"-> %02x c_count = %d",input->content[input->c_count-1], + input->c_count); + ivac_add_to_monitor(ivac,debug_string); +#endif ivac_display_prompt_content(ivac); ivac_display_draw(ivac); @@ -359,18 +364,21 @@ int ivac_parse_command(t_input *input,void *ptr) { /* get args */ len=0; - while(data[len]!='\n'||data[len]!='\r') len++; + while(data[len]!='\n'&&data[len]!='\r') len++; +#ifdef DEBUG + sprintf(debug_string,"len = %d\n",len); + ivac_add_to_monitor(ivac,debug_string); +#endif i=0; j=0; while((inet.connection[channel].ip, ivac->net.connection[channel].port); event_math(ivac->net.connection[channel].fd,&(ivac->event),READ,ADD); ivac_send_info(channel,ivac); } + else if(i==N_E_CONNECT) + sprintf(c_str,"channel %02d: connection error - %s", + channel,sys_errlist[errno]); } else sprintf(c_str,"invalid argument: '%s'",arg[1]); } @@ -484,14 +495,13 @@ int ivac_parse_command(t_input *input,void *ptr) { /* add console string to console buffer */ ivac_add_to_monitor(ivac,c_str); - /* refresh whole display content */ - ivac_display_content(ivac); - ivac_display_draw(ivac); - /* delete input content buffer + reset counter */ memset(input->content,0,input->c_count-1); input->c_count=0; + /* refresh whole display content */ + ivac_display_content(ivac); + ivac_display_draw(ivac); } return SUCCESS; @@ -561,14 +571,17 @@ int ivac_display_console(t_ivac *ivac) { int ivac_display_console_content(t_ivac *ivac) { - int i; + int i,size; char string[IVAC_CONSOLE_STRING_LEN]; for(i=0;iconsole[i]); + size=strlen(ivac->console[i]); + size=(sizeconsole[i],size); + memset(string+size,' ',IVAC_CONSOLE_STRING_LEN-size); display_string(&(ivac->display), 0,ivac->display.max_y-IVAC_PROMPT_LEN-IVAC_CONSOLE_LEN+1+i, - string,strlen(string)); + string,IVAC_CONSOLE_STRING_LEN); } return SUCCESS; @@ -585,25 +598,14 @@ int ivac_display_prompt_content(t_ivac *ivac) { char string[IVAC_CONSOLE_STRING_LEN]; int count; -#ifdef DEBUG - char debug_string[IVAC_CONSOLE_STRING_LEN]; -#endif for(count=0;countinput.c_count;count++) string[count]=ivac->input.content[count]; for(count=ivac->input.c_count;countdisplay),8,ivac->display.max_y-1, - string,ivac->display.max_x); + string,IVAC_CONSOLE_STRING_LEN-8); -#ifdef DEBUG - sprintf(debug_string,"%02x %02x %02x %02x ...",ivac->input.content[0], - ivac->input.content[1], - ivac->input.content[2], - ivac->input.content[3]); - ivac_add_to_monitor(ivac,debug_string); -#endif - return SUCCESS; }