void tr_deepLog( const char * file, int line, const char * name, const char * fmt, ... ) { FILE * fp = tr_getLog( ); if( fp || IsDebuggerPresent( ) ) { va_list args; char timestr[64]; struct evbuffer * buf = evbuffer_new( ); char * base = tr_basename( file ); evbuffer_add_printf( buf, "[%s] ", tr_getLogTimeStr( timestr, sizeof( timestr ) ) ); if( name ) evbuffer_add_printf( buf, "%s ", name ); va_start( args, fmt ); evbuffer_add_vprintf( buf, fmt, args ); va_end( args ); evbuffer_add_printf( buf, " (%s:%d)\n", base, line ); /* FIXME(libevent2) ifdef this out for nonwindows platforms */ OutputDebugString( EVBUFFER_DATA( buf ) ); if(fp) /* FIXME(libevent2) tr_getLog() should return an fd, then use evbuffer_write() here ) */ (void) fwrite( EVBUFFER_DATA( buf ), 1, EVBUFFER_LENGTH( buf ), fp ); tr_free( base ); evbuffer_free( buf ); } }
void tr_deepLog( const char * file, int line, const char * name, const char * fmt, ... ) { FILE * fp = tr_getLog( ); if( fp || IsDebuggerPresent( ) ) { va_list args; char timestr[64]; struct evbuffer * buf = evbuffer_new( ); char * base = tr_basename( file ); evbuffer_add_printf( buf, "[%s] ", tr_getLogTimeStr( timestr, sizeof( timestr ) ) ); if( name ) evbuffer_add_printf( buf, "%s ", name ); va_start( args, fmt ); evbuffer_add_vprintf( buf, fmt, args ); va_end( args ); evbuffer_add_printf( buf, " (%s:%d)\n", base, line ); /* FIXME(libevent2) ifdef this out for nonwindows platforms */ OutputDebugString( evbuffer_pullup( buf, -1 ) ); if( fp ) fputs( (const char*)evbuffer_pullup( buf, -1 ), fp ); tr_free( base ); evbuffer_free( buf ); } }
void tr_logAddDeep (const char * file, int line, const char * name, const char * fmt, ...) { const tr_sys_file_t fp = tr_logGetFile (); if (fp != TR_BAD_SYS_FILE || IsDebuggerPresent ()) { va_list args; char timestr[64]; char * message; size_t message_len; struct evbuffer * buf = evbuffer_new (); char * base = tr_sys_path_basename (file, NULL); evbuffer_add_printf (buf, "[%s] ", tr_logGetTimeStr (timestr, sizeof (timestr))); if (name) evbuffer_add_printf (buf, "%s ", name); va_start (args, fmt); evbuffer_add_vprintf (buf, fmt, args); va_end (args); evbuffer_add_printf (buf, " (%s:%d)" TR_NATIVE_EOL_STR, base, line); /* FIXME (libevent2) ifdef this out for nonwindows platforms */ message = evbuffer_free_to_str (buf, &message_len); OutputDebugStringA (message); if (fp != TR_BAD_SYS_FILE) tr_sys_file_write (fp, message, message_len, NULL, NULL); tr_free (message); tr_free (base); } }
void tr_logAddDeep (const char * file, int line, const char * name, const char * fmt, ...) { FILE * fp = tr_logGetFile (); if (fp || IsDebuggerPresent ()) { va_list args; char timestr[64]; char * message; struct evbuffer * buf = evbuffer_new (); char * base = tr_basename (file); evbuffer_add_printf (buf, "[%s] ", tr_logGetTimeStr (timestr, sizeof (timestr))); if (name) evbuffer_add_printf (buf, "%s ", name); va_start (args, fmt); evbuffer_add_vprintf (buf, fmt, args); va_end (args); evbuffer_add_printf (buf, " (%s:%d)\n", base, line); /* FIXME (libevent2) ifdef this out for nonwindows platforms */ message = evbuffer_free_to_str (buf); OutputDebugStringA (message); if (fp) fputs (message, fp); tr_free (message); tr_free (base); } }
int evbuffer_add_netstring_vprintf(struct evbuffer *buf, const char *fmt, va_list ap) { struct evbuffer *temp = evbuffer_new(); int rc = evbuffer_add_vprintf(temp, fmt, ap); evbuffer_add_netstring_buffer(buf, temp, true); evbuffer_free(temp); return rc; }
static void http_send(struct evhttp_request *request, const char *fmt, ...) { struct evbuffer *buffer = evbuffer_new(); evhttp_add_header(request->output_headers, "Content-Type", "TEXT/XML; charset=UTF8"); va_list ap; va_start(ap, fmt); evbuffer_add_vprintf(buffer, fmt, ap); va_end(ap); evhttp_send_reply(request, HTTP_OK, "", buffer); evbuffer_free(buffer); }
void control_write_printf(struct client *c, const char *format, ...) { va_list argp; va_start(argp, format); evbuffer_add_vprintf(c->stdout_event->output, format, argp); va_end(argp); }
void printflike2 control_msg_print(struct cmd_ctx *ctx, const char *fmt, ...) { va_list ap; va_start(ap, fmt); evbuffer_add_vprintf(ctx->curclient->stdout_event->output, fmt, ap); va_end(ap); bufferevent_write(ctx->curclient->stdout_event, "\n", 1); }
int evbuffer_add_printf (struct evbuffer *buf, const char *fmt, ...) { int res = -1; va_list ap; va_start (ap, fmt); res = evbuffer_add_vprintf (buf, fmt, ap); va_end (ap); return (res); }
/* Write a line. */ void printflike2 control_write(struct client *c, const char *fmt, ...) { va_list ap; va_start(ap, fmt); evbuffer_add_vprintf(c->stdout_data, fmt, ap); va_end(ap); evbuffer_add(c->stdout_data, "\n", 1); server_push_stdout(c); }
/* Command print callback. */ void printflike2 control_msg_print(struct cmd_ctx *ctx, const char *fmt, ...) { struct client *c = ctx->curclient; va_list ap; va_start(ap, fmt); evbuffer_add_vprintf(c->stdout_data, fmt, ap); va_end(ap); evbuffer_add(c->stdout_data, "\n", 1); server_push_stdout(c); }
void Connection::writeFormat( const char* format, ... ) { TRACE_ENTERLEAVE(); va_list args; va_start(args, format); vprintf( format, args ); int written = evbuffer_add_vprintf( m_output, format, args ); va_end(args); }
void client_send_data(struct client* client, char* line, ...) { va_list arg; va_start(arg, line); if (client->websocket && client->websocket->connected) { char data[1024*1024]; size_t length = vsnprintf(data, sizeof(data), line, arg); encode_and_send_websocket(client, data, length); } else { struct evbuffer* output = bufferevent_get_output(client->bev); evbuffer_add_vprintf(output, line, arg); evbuffer_add(output, "\n", 2); } va_end(arg); };
void zxy_printf_content( zxy_request_context *context, const char* fmt, ... ) { evhtp_header_t *header = evhtp_headers_find_header( context->request->headers_out, "Content-Type" ); if ( header == NULL ) { zxy_add_http_header(context, "Content-Type", "text/html"); } va_list args; va_start(args, fmt); evbuffer_add_vprintf(context->request->buffer_out, fmt, args); va_end(args); }
static void add_to_log_buffer(struct async_syslog_state* state, int priority, const char *format, va_list ap) { struct evbuffer* buffer = state->buffers[state->buffer_put]; struct timeval tv; char ctime_buf[27]; if (event_base_gettimeofday_cached(state->base, &tv)) return; priority |= state->facility; ctime_r(&tv.tv_sec, ctime_buf); if (state->option & LOG_PID) evbuffer_add_printf(buffer, "<%d>%.15s %s[%d]: ", priority, ctime_buf + 4, state->ident, getpid()); else evbuffer_add_printf(buffer, "<%d>%.15s %s: ", priority, ctime_buf + 4, state->ident); evbuffer_add_vprintf(buffer, format, ap); if (state->sock_type == SOCK_STREAM) evbuffer_add_printf(buffer, "%c", 0); state->buffer_put += 1; state->buffer_put %= ASYNC_SYSLOG_BUFFER_SIZE; state->buffers_empty = 0; }