version 1.27, 2015/10/20 21:12:08 |
version 1.28, 2015/11/12 11:10:50 |
|
|
struct client *c = cmdq->client; |
struct client *c = cmdq->client; |
struct window *w; |
struct window *w; |
va_list ap; |
va_list ap; |
|
char *tmp, *msg; |
|
|
va_start(ap, fmt); |
va_start(ap, fmt); |
|
|
if (c == NULL) |
if (c == NULL) |
/* nothing */; |
/* nothing */; |
else if (c->session == NULL || (c->flags & CLIENT_CONTROL)) { |
else if (c->session == NULL || (c->flags & CLIENT_CONTROL)) { |
evbuffer_add_vprintf(c->stdout_data, fmt, ap); |
if (~c->flags & CLIENT_UTF8) { |
|
vasprintf(&tmp, fmt, ap); |
|
msg = utf8_sanitize(tmp); |
|
free(tmp); |
|
evbuffer_add(c->stdout_data, msg, strlen(msg)); |
|
free(msg); |
|
} else |
|
evbuffer_add_vprintf(c->stdout_data, fmt, ap); |
evbuffer_add(c->stdout_data, "\n", 1); |
evbuffer_add(c->stdout_data, "\n", 1); |
server_push_stdout(c); |
server_push_stdout(c); |
} else { |
} else { |
|
|
va_list ap; |
va_list ap; |
char *msg; |
char *msg; |
size_t msglen; |
size_t msglen; |
|
char *tmp; |
|
|
va_start(ap, fmt); |
va_start(ap, fmt); |
msglen = xvasprintf(&msg, fmt, ap); |
msglen = xvasprintf(&msg, fmt, ap); |
|
|
if (c == NULL) |
if (c == NULL) |
cfg_add_cause("%s:%u: %s", cmd->file, cmd->line, msg); |
cfg_add_cause("%s:%u: %s", cmd->file, cmd->line, msg); |
else if (c->session == NULL || (c->flags & CLIENT_CONTROL)) { |
else if (c->session == NULL || (c->flags & CLIENT_CONTROL)) { |
|
if (~c->flags & CLIENT_UTF8) { |
|
tmp = msg; |
|
msg = utf8_sanitize(tmp); |
|
free(tmp); |
|
msglen = strlen(msg); |
|
} |
evbuffer_add(c->stderr_data, msg, msglen); |
evbuffer_add(c->stderr_data, msg, msglen); |
evbuffer_add(c->stderr_data, "\n", 1); |
evbuffer_add(c->stderr_data, "\n", 1); |
|
|
server_push_stderr(c); |
server_push_stderr(c); |
c->retval = 1; |
c->retval = 1; |
} else { |
} else { |