=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/client.c,v retrieving revision 1.4 retrieving revision 1.5 diff -c -r1.4 -r1.5 *** src/usr.bin/tmux/client.c 2009/07/22 21:58:56 1.4 --- src/usr.bin/tmux/client.c 2009/07/23 20:24:27 1.5 *************** *** 1,4 **** ! /* $OpenBSD: client.c,v 1.4 2009/07/22 21:58:56 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: client.c,v 1.5 2009/07/23 20:24:27 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott *************** *** 155,161 **** sigcont = 0; } ! switch (client_msg_dispatch(cctx, &error)) { case -1: goto out; case 0: --- 155,161 ---- sigcont = 0; } ! switch (client_msg_dispatch(cctx)) { case -1: goto out; case 0: *************** *** 179,186 **** fatal("poll failed"); } ! if (buffer_poll(&pfd, cctx->srv_in, cctx->srv_out) != 0) ! goto server_dead; } out: --- 179,188 ---- fatal("poll failed"); } ! if (buffer_poll(&pfd, cctx->srv_in, cctx->srv_out) != 0) { ! cctx->exittype = CCTX_DIED; ! break; ! } } out: *************** *** 188,215 **** printf("[terminated]\n"); return (1); } ! ! if (cctx->flags & CCTX_SHUTDOWN) { printf("[server exited]\n"); return (0); ! } ! ! if (cctx->flags & CCTX_EXIT) { printf("[exited]\n"); return (0); ! } ! ! if (cctx->flags & CCTX_DETACH) { printf("[detached]\n"); return (0); } - - printf("[error: %s]\n", error); - return (1); - - server_dead: - printf("[lost server]\n"); - return (0); } void --- 190,212 ---- 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: printf("[exited]\n"); return (0); ! case CCTX_DETACH: printf("[detached]\n"); return (0); + default: + printf("[error: %s]\n", cctx->errstr); + return (1); } } void