From e421382b1b2deb8bf743ff5e44e54cc8f16fe633 Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Sat, 14 Jun 2003 10:05:13 +0000 Subject: [PATCH] strip_ctrl() only overwrites string if it was modified. --- src/sbbs3/str_util.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/sbbs3/str_util.c b/src/sbbs3/str_util.c index b6e0b8adcf..8b0ac06d71 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); } -- GitLab