diff options
author | Nicholas Marriott <nicholas.marriott@gmail.com> | 2013-10-06 00:28:35 +0100 |
---|---|---|
committer | Nicholas Marriott <nicholas.marriott@gmail.com> | 2013-10-06 00:28:35 +0100 |
commit | f141e9b37a8d8a0c89c4f74137df9e5088b4b7af (patch) | |
tree | 88b623f63240deb4169f965f97ac68c65bad36a9 /server-client.c | |
parent | 3fba377ddd6fd234c614b53d5402153c6489b505 (diff) | |
download | rtmux-f141e9b37a8d8a0c89c4f74137df9e5088b4b7af.tar.gz rtmux-f141e9b37a8d8a0c89c4f74137df9e5088b4b7af.tar.bz2 rtmux-f141e9b37a8d8a0c89c4f74137df9e5088b4b7af.zip |
Instead of fixed size buffers for some messages, send only the string length.
Diffstat (limited to 'server-client.c')
-rw-r--r-- | server-client.c | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/server-client.c b/server-client.c index 41d1bb22..31a286b7 100644 --- a/server-client.c +++ b/server-client.c @@ -695,8 +695,6 @@ server_client_repeat_timer(unused int fd, unused short events, void *data) void server_client_check_exit(struct client *c) { - struct msg_exit_data exitdata; - if (!(c->flags & CLIENT_EXIT)) return; @@ -707,9 +705,7 @@ server_client_check_exit(struct client *c) if (EVBUFFER_LENGTH(c->stderr_data) != 0) return; - exitdata.retcode = c->retval; - server_write_client(c, MSG_EXIT, &exitdata, sizeof exitdata); - + server_write_client(c, MSG_EXIT, &c->retval, sizeof c->retval); c->flags &= ~CLIENT_EXIT; } @@ -995,16 +991,12 @@ server_client_msg_identify( void server_client_msg_shell(struct client *c) { - struct msg_shell_data data; - const char *shell; + const char *shell; shell = options_get_string(&global_s_options, "default-shell"); - if (*shell == '\0' || areshell(shell)) shell = _PATH_BSHELL; - if (strlcpy(data.shell, shell, sizeof data.shell) >= sizeof data.shell) - strlcpy(data.shell, _PATH_BSHELL, sizeof data.shell); + server_write_client(c, MSG_SHELL, shell, strlen(shell) + 1); - server_write_client(c, MSG_SHELL, &data, sizeof data); c->flags |= CLIENT_BAD; /* it will die after exec */ } |