From 09b3dd4093b8a5413b4347bfb3d2943562b1051e Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Tue, 1 Apr 2008 08:03:00 +0000 Subject: [PATCH] Replace \r and \n with spaces in syslog() output. --- src/sbbs3/sexyz.c | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/src/sbbs3/sexyz.c b/src/sbbs3/sexyz.c index 7060228e37..a923ff2730 100644 --- a/src/sbbs3/sexyz.c +++ b/src/sbbs3/sexyz.c @@ -164,6 +164,7 @@ static BOOL winsock_startup(void) static int lputs(void* unused, int level, const char* str) { FILE* fp=statfp; + int ret; #if defined(_WIN32) && defined(_DEBUG) if(log_level==LOG_DEBUG) @@ -173,11 +174,6 @@ static int lputs(void* unused, int level, const char* str) if(level>log_level) return 0; -#if defined(__unix__) - if(use_syslog) - syslog(level,"%s",str); -#endif - if(level<LOG_NOTICE) fp=errfp; @@ -186,9 +182,24 @@ static int lputs(void* unused, int level, const char* str) newline=TRUE; } if(level<LOG_NOTICE) - return fprintf(fp,"!%s\n",str); + ret=fprintf(fp,"!%s\n",str); else - return fprintf(fp,"%s\n",str); + ret=fprintf(fp,"%s\n",str); + +#if defined(__unix__) + if(use_syslog) { + char* msg; + char* p; + if((msg=strdup(str))!=NULL) { + REPLACE_CHARS(msg,'\r',' ',p); + REPLACE_CHARS(msg,'\n',' ',p); + syslog(level,"%s",msg); + free(msg); + } + } +#endif + + return ret; } static int lprintf(int level, const char *fmt, ...) -- GitLab