From 760e39e405fc5b31432989df146b21bb8b78c205 Mon Sep 17 00:00:00 2001 From: Nicholas Marriott Date: Tue, 13 Oct 2009 13:11:06 +0000 Subject: Don't print exit messages when used as a login shell, requested by martynas@ a while back. --- client.c | 50 ++++++++++++++++++++++++++++---------------------- 1 file changed, 28 insertions(+), 22 deletions(-) (limited to 'client.c') diff --git a/client.c b/client.c index e93272de..214ec6a0 100644 --- a/client.c +++ b/client.c @@ -212,30 +212,36 @@ client_main(struct client_ctx *cctx) } out: - if (sigterm) { - printf("[terminated]\n"); - return (1); - } - switch (cctx->exittype) { - case CCTX_DIED: - printf("[lost server]\n"); - return (0); - case CCTX_SHUTDOWN: - printf("[server exited]\n"); - return (0); - case CCTX_EXIT: - if (cctx->errstr != NULL) { - printf("[error: %s]\n", cctx->errstr); + /* + * Print exit status message, unless running as a login shell where it + * would either be pointless or irritating. + */ + if (!login_shell) { + if (sigterm) { + printf("[terminated]\n"); + return (1); + } + switch (cctx->exittype) { + case CCTX_DIED: + printf("[lost server]\n"); + return (0); + case CCTX_SHUTDOWN: + 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); + default: + printf("[unknown error]\n"); return (1); } - printf("[exited]\n"); - return (0); - case CCTX_DETACH: - printf("[detached]\n"); - return (0); - default: - printf("[unknown error]\n"); - return (1); } } -- cgit v1.2.3