Tidy client message return slightly: convert flags into an enum, and merge

error string into struct client_ctx as well.
This commit is contained in:
Nicholas Marriott
2009-07-23 20:24:27 +00:00
parent ba84ddcf8e
commit 16e017d5a6
3 changed files with 48 additions and 52 deletions

View File

@ -155,7 +155,7 @@ client_main(struct client_ctx *cctx)
sigcont = 0;
}
switch (client_msg_dispatch(cctx, &error)) {
switch (client_msg_dispatch(cctx)) {
case -1:
goto out;
case 0:
@ -179,8 +179,10 @@ client_main(struct client_ctx *cctx)
fatal("poll failed");
}
if (buffer_poll(&pfd, cctx->srv_in, cctx->srv_out) != 0)
goto server_dead;
if (buffer_poll(&pfd, cctx->srv_in, cctx->srv_out) != 0) {
cctx->exittype = CCTX_DIED;
break;
}
}
out:
@ -188,28 +190,23 @@ out:
printf("[terminated]\n");
return (1);
}
if (cctx->flags & CCTX_SHUTDOWN) {
switch (cctx->exittype) {
case CCTX_DIED:
printf("[lost server]\n");
return (0);
case CCTX_SHUTDOWN:
printf("[server exited]\n");
return (0);
}
if (cctx->flags & CCTX_EXIT) {
case CCTX_EXIT:
printf("[exited]\n");
return (0);
}
if (cctx->flags & CCTX_DETACH) {
case CCTX_DETACH:
printf("[detached]\n");
return (0);
default:
printf("[error: %s]\n", cctx->errstr);
return (1);
}
printf("[error: %s]\n", error);
return (1);
server_dead:
printf("[lost server]\n");
return (0);
}
void