aboutsummaryrefslogtreecommitdiff
path: root/src/client.c
diff options
context:
space:
mode:
authorFranklin Wei <git@fwei.tk>2016-01-13 18:08:52 -0500
committerFranklin Wei <git@fwei.tk>2016-01-13 18:08:52 -0500
commitcc9c177672edcc65933b15ba91831bf09bbec023 (patch)
tree1f717027c56e92acaecf2ccf581c83d979b9a461 /src/client.c
parent06880048df2202b1828e5367b1697aee305a2358 (diff)
downloadnetcosm-0.2.zip
netcosm-0.2.tar.gz
netcosm-0.2.tar.bz2
netcosm-0.2.tar.xz
rewrite everything to use libev0.2
Diffstat (limited to 'src/client.c')
-rw-r--r--src/client.c18
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;