diff --git a/src/sbbs3/str_util.c b/src/sbbs3/str_util.c index b6e0b8adcf3fc587af8761bd07a5a4ccd8e98261..8b0ac06d718a51df672dcb383c2fc70c0c79703c 100644 --- a/src/sbbs3/str_util.c +++ b/src/sbbs3/str_util.c @@ -64,13 +64,16 @@ char* DLLCALL strip_ctrl(char *str) char tmp[1024]; int i,j; - for(i=j=0;str[i] && j<(int)sizeof(tmp)-1;i++) + for(i=j=0;str[i] && j<(int)sizeof(tmp)-1;i++) { if(str[i]==CTRL_A && str[i+1]!=0) i++; else if((uchar)str[i]>=SP) tmp[j++]=str[i]; - tmp[j]=0; - strcpy(str,tmp); + } + if(i!=j) { + tmp[j]=0; + strcpy(str,tmp); + } return(str); }