Mercurial > dovecot > core-2.2
changeset 22640:cf23a90cd2ca
director: Use t_strsplit_tabescaped_inplace() for director connection input
author | Timo Sirainen <timo.sirainen@dovecot.fi> |
---|---|
date | Sat, 04 Nov 2017 01:48:41 +0200 |
parents | da6cf4b7caf4 |
children | 7163028a9f90 |
files | src/director/director-connection.c |
diffstat | 1 files changed, 9 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/src/director/director-connection.c Sat Nov 04 01:43:41 2017 +0200 +++ b/src/director/director-connection.c Sat Nov 04 01:48:41 2017 +0200 @@ -124,7 +124,7 @@ struct director_user_iter *user_iter; /* set during command execution */ - const char *cur_cmd, *cur_line; + const char *cur_cmd, *const *cur_args; unsigned int in:1; unsigned int connected:1; @@ -158,7 +158,8 @@ va_start(args, fmt); i_error("director(%s): Command %s: %s (input: %s)", conn->name, - conn->cur_cmd, t_strdup_vprintf(fmt, args), conn->cur_line); + conn->cur_cmd, t_strdup_vprintf(fmt, args), + t_strarray_join(conn->cur_args, "\t")); va_end(args); if (conn->host != NULL) @@ -1793,25 +1794,25 @@ static bool director_connection_handle_line(struct director_connection *conn, - const char *line) + char *line) { const char *cmd, *const *args; bool ret; dir_debug("input: %s: %s", conn->name, line); - args = t_strsplit_tabescaped(line); - cmd = args[0]; args++; + args = t_strsplit_tabescaped_inplace(line); + cmd = args[0]; if (cmd == NULL) { director_cmd_error(conn, "Received empty line"); return FALSE; } conn->cur_cmd = cmd; - conn->cur_line = line; - ret = director_connection_handle_cmd(conn, cmd, args); + conn->cur_args = args; + ret = director_connection_handle_cmd(conn, cmd, args+1); conn->cur_cmd = NULL; - conn->cur_line = NULL; + conn->cur_args = NULL; return ret; }