diff --git a/src/sbbs3/sbbscon.c b/src/sbbs3/sbbscon.c index 074e82f8286b5ef9a91f58f60d6170bf25b262ad..29593830d68263be9cdb89a3bff10a42f61ae03c 100644 --- a/src/sbbs3/sbbscon.c +++ b/src/sbbs3/sbbscon.c @@ -199,6 +199,7 @@ static int lputs(int level, char *str) { static pthread_mutex_t mutex; static BOOL mutex_initialized; + char *p; #ifdef __unix__ @@ -219,8 +220,15 @@ static int lputs(int level, char *str) pthread_mutex_lock(&mutex); /* erase prompt */ printf("\r%*s\r",prompt_len,""); - if(str!=NULL) - printf("%s\n",str); + if(str!=NULL) { + for(p=str; *p; p++) { + if(iscntrl(*p)) + printf("^%c",'@'+*p); + else + printf("%c",*p); + } + puts(""); + } /* re-display prompt with current stats */ if(prompt!=NULL) prompt_len = printf(prompt, thread_count, socket_count, client_count, served);