diff options
Diffstat (limited to 'src/client.c')
| -rw-r--r-- | src/client.c | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/src/client.c b/src/client.c index 330187d..77072e2 100644 --- a/src/client.c +++ b/src/client.c @@ -102,6 +102,8 @@ void send_master(unsigned char cmd, const void *data, size_t sz) sigprocmask(SIG_SETMASK, &old, NULL); while(!request_complete) usleep(1); + + free(req); } #define BUFSZ 128 @@ -119,9 +121,11 @@ tryagain: buf[BUFSZ - 1] = '\0'; if(buf[0] & 0x80) { - telnet_handle_command((unsigned char*)buf); + int ret = telnet_handle_command((unsigned char*)buf); free(buf); + if(ret == TELNET_EXIT) + exit(0); goto tryagain; } @@ -140,15 +144,6 @@ char *client_read_password(void) return ret; } -void all_upper(char *s) -{ - while(*s) - { - *s = toupper(*s); - s++; - } -} - static void print_all(int fd) { unsigned char buf[MSG_MAX + 1]; @@ -161,9 +156,6 @@ static void print_all(int fd) } while(1); } -struct userdata_t sent_userdata; -bool child_req_success; - enum reqdata_typespec reqdata_type = TYPE_NONE; union reqdata_t returned_reqdata; |