121
109
/* Write until the next \n... */
122
110
if ((end_ptr = strchr((char*)buffer, '\n'))) {
123
111
len = end_ptr - buffer;
124
ret= fwrite(buffer, len, 1, iStream);
112
fwrite(buffer, len, 1, iStream);
125
113
fprintf(iStream, "\n");
127
115
iHeaderPending = true;
131
119
len = strlen(buffer);
132
ret = fwrite(buffer, len, 1, iStream);
120
fwrite(buffer, len, 1, iStream);
141
127
void CSLog::log(CSThread *self, int level, const char *buffer)
177
void CSLog::log_va(CSThread *self, int level, const char *func, const char *file, int line, const char *fmt, va_list ap)
179
char buffer[DEFAULT_LOG_BUFFER_SIZE];
180
char *log_string = NULL;
184
#if !defined(va_copy) || defined(OS_SOLARIS)
187
len = vsnprintf(buffer, DEFAULT_LOG_BUFFER_SIZE-1, fmt, ap);
188
if (len > DEFAULT_LOG_BUFFER_SIZE-1)
189
len = DEFAULT_LOG_BUFFER_SIZE-1;
193
/* Use the buffer, unless it is too small */
197
if (vsnprintf(buffer, DEFAULT_LOG_BUFFER_SIZE, fmt, ap) >= DEFAULT_LOG_BUFFER_SIZE) {
198
if (vasprintf(&log_string, fmt, ap2) == -1)
206
log(self, func, file, line, level, log_string);
208
if (log_string != buffer)
215
void CSLog::logf(CSThread *self, int level, const char *fmt, ...)
220
log_va(self, level, NULL, NULL, 0, fmt, ap);
224
void CSLog::logf(CSThread *self, int level, const char *func, const char *file, int line, const char *fmt, ...)
229
log_va(self, level, func, file, line, fmt, ap);