Commit df74fe4c authored by Poul-Henning Kamp's avatar Poul-Henning Kamp

Unlearn struct cli from VCLI_WriteResult()

parent 50b7975c
...@@ -400,7 +400,7 @@ mgt_cli_setup(int fdi, int fdo, int verbose, const char *ident, mgt_cli_close_f ...@@ -400,7 +400,7 @@ mgt_cli_setup(int fdi, int fdo, int verbose, const char *ident, mgt_cli_close_f
mcf_banner(cli, NULL, NULL); mcf_banner(cli, NULL, NULL);
} }
AZ(VSB_finish(cli->sb)); AZ(VSB_finish(cli->sb));
(void)VCLI_WriteResult(fdo, cli); (void)VCLI_WriteResult(fdo, cli->result, VSB_data(cli->sb));
ev = vev_new(); ev = vev_new();
......
...@@ -44,7 +44,7 @@ struct cli { ...@@ -44,7 +44,7 @@ struct cli {
struct VCLS *cls; struct VCLS *cls;
}; };
int VCLI_WriteResult(int fd, const struct cli *cli); int VCLI_WriteResult(int fd, unsigned status, const char *result);
int VCLI_ReadResult(int fd, unsigned *status, char **ptr, double tmo); int VCLI_ReadResult(int fd, unsigned *status, char **ptr, double tmo);
void VCLI_AuthResponse(int S_fd, const char *challenge, void VCLI_AuthResponse(int S_fd, const char *challenge,
......
...@@ -83,7 +83,7 @@ VCLI_SetResult(struct cli *cli, unsigned res) ...@@ -83,7 +83,7 @@ VCLI_SetResult(struct cli *cli, unsigned res)
} }
int int
VCLI_WriteResult(int fd, const struct cli *cli) VCLI_WriteResult(int fd, unsigned status, const char *result)
{ {
int i, l; int i, l;
struct iovec iov[3]; struct iovec iov[3];
...@@ -93,18 +93,18 @@ VCLI_WriteResult(int fd, const struct cli *cli) ...@@ -93,18 +93,18 @@ VCLI_WriteResult(int fd, const struct cli *cli)
* any misformats by snprintf * any misformats by snprintf
*/ */
assert(cli->result >= 100); assert(status >= 100);
assert(cli->result <= 999); /*lint !e650 const out of range */ assert(status <= 999); /*lint !e650 const out of range */
i = snprintf(res, sizeof res, i = snprintf(res, sizeof res,
"%-3d %-8ld\n", cli->result, (long)VSB_len(cli->sb)); "%-3d %-8jd\n", status, (intmax_t)strlen(result));
assert(i == CLI_LINE0_LEN); assert(i == CLI_LINE0_LEN);
iov[0].iov_base = res; iov[0].iov_base = res;
iov[0].iov_len = CLI_LINE0_LEN; iov[0].iov_len = CLI_LINE0_LEN;
iov[1].iov_base = VSB_data(cli->sb); iov[1].iov_base = (void*)(uintptr_t)result; /* TRUST ME */
iov[1].iov_len = VSB_len(cli->sb); iov[1].iov_len = strlen(result);
iov[2].iov_base = nl; iov[2].iov_base = nl;
iov[2].iov_len = 1; iov[2].iov_len = 1;
......
...@@ -293,7 +293,8 @@ cls_vlu2(void *priv, char * const *av) ...@@ -293,7 +293,8 @@ cls_vlu2(void *priv, char * const *av)
cli->cls = NULL; cli->cls = NULL;
if (VCLI_WriteResult(cfd->fdo, cli) || cli->result == CLIS_CLOSE) if (VCLI_WriteResult(cfd->fdo, cli->result, VSB_data(cli->sb)) ||
cli->result == CLIS_CLOSE)
return (1); return (1);
return (0); return (0);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment