Ticket #162: jabberd2_dont_reset_whole_buffer.diff
| File jabberd2_dont_reset_whole_buffer.diff, 1.2 KB (added by markdoliner, 14 months ago) |
|---|
-
util/log.c
104 104 { 105 105 va_list ap; 106 106 char *pos, message[MAX_LOG_LINE+1]; 107 int sz ;107 int sz, len; 108 108 time_t t; 109 109 110 memset(&message, '\0', MAX_LOG_LINE+1);111 112 110 if(log->type == log_SYSLOG) { 113 111 va_start(ap, msgfmt); 114 112 #ifdef HAVE_VSYSLOG 115 113 vsyslog(level, msgfmt, ap); 116 114 #else 117 vsnprintf(message, MAX_LOG_LINE, msgfmt, ap); 115 len = vsnprintf(message, MAX_LOG_LINE, msgfmt, ap); 116 if (len > MAX_LOG_LINE) 117 message[MAX_LOG_LINE] = '\0'; 118 else 119 message[len] = '\0'; 118 120 syslog(level, "%s", message); 119 121 #endif 120 122 va_end(ap); … … 132 134 pos[sz-1]=' '; 133 135 134 136 /* insert the header */ 135 snprintf(message, MAX_LOG_LINE, "%s[%s] ", pos, _log_level[level]); 137 len = snprintf(message, MAX_LOG_LINE, "%s[%s] ", pos, _log_level[level]); 138 if (len > MAX_LOG_LINE) 139 message[MAX_LOG_LINE] = '\0'; 140 else 141 message[len] = '\0'; 136 142 137 143 /* find the end and attach the rest of the msg */ 138 144 for (pos = message; *pos != '\0'; pos++); /*empty statement */
