mirror of
https://github.com/tmate-io/tmate.git
synced 2026-07-23 11:07:44 +00:00
That was the wrong fix. MSG_ERROR should set the error and the client should
use the error and exit on MSG_EXIT (it was being handled in the default case). Undo the last change, move the errstr check into the MSG_EXIT case, and add a comment.
This commit is contained in:
parent
7a4bac82d7
commit
459abafcea
2 changed files with 7 additions and 7 deletions
11
client.c
11
client.c
|
|
@ -214,16 +214,17 @@ client_main(struct client_ctx *cctx)
|
|||
printf("[server exited]\n");
|
||||
return (0);
|
||||
case CCTX_EXIT:
|
||||
if (cctx->errstr != NULL) {
|
||||
printf("[error: %s]\n", cctx->errstr);
|
||||
return (1);
|
||||
}
|
||||
printf("[exited]\n");
|
||||
return (0);
|
||||
case CCTX_DETACH:
|
||||
printf("[detached]\n");
|
||||
return (0);
|
||||
case CCTX_ERROR:
|
||||
printf("[error: %s]\n", cctx->errstr);
|
||||
return (1);
|
||||
default:
|
||||
printf("[error: unknown error]\n");
|
||||
printf("[unknown error]\n");
|
||||
return (1);
|
||||
}
|
||||
}
|
||||
|
|
@ -277,8 +278,8 @@ client_msg_dispatch(struct client_ctx *cctx)
|
|||
memcpy(&printdata, imsg.data, sizeof printdata);
|
||||
|
||||
printdata.msg[(sizeof printdata.msg) - 1] = '\0';
|
||||
/* Error string used after exit message from server. */
|
||||
cctx->errstr = xstrdup(printdata.msg);
|
||||
cctx->exittype = CCTX_ERROR;
|
||||
imsg_free(&imsg);
|
||||
return (-1);
|
||||
case MSG_EXIT:
|
||||
|
|
|
|||
3
tmux.h
3
tmux.h
|
|
@ -973,8 +973,7 @@ struct client_ctx {
|
|||
CCTX_DETACH,
|
||||
CCTX_EXIT,
|
||||
CCTX_DIED,
|
||||
CCTX_SHUTDOWN,
|
||||
CCTX_ERROR
|
||||
CCTX_SHUTDOWN
|
||||
} exittype;
|
||||
const char *errstr;
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue