diff --git a/client.c b/client.c index 5bd7f0e..38d8be8 100644 --- a/client.c +++ b/client.c @@ -123,12 +123,13 @@ static int client_mainloop(void) { debug("client-stdin: %c\n", pkt.u.msg[0]); if (client.await_command) { client.await_command = false; - if (pkt.u.msg[0]=='d') { - pkt.type = MSG_DETACH; - pkt.len = 0; - client_send_packet(&pkt); - close(server.socket); - return -1; + switch (pkt.u.msg[0]) { + case 'd': + pkt.type = MSG_DETACH; + pkt.len = 0; + client_send_packet(&pkt); + close(server.socket); + return RV_DETACH; } } pkt.len = len; @@ -141,7 +142,7 @@ static int client_mainloop(void) { } } else if (len == 0) { debug("client-stdin: EOF\n"); - return -1; + return RV_DETACH; } } }