From f2f4f0d94a5280e15d89c25832825bb3ce65d2fd Mon Sep 17 00:00:00 2001 From: Tom Smeding Date: Sun, 28 Jun 2020 22:18:26 +0200 Subject: server: Some code cleanup --- command.c | 21 +++++++++------------ util.c | 9 +++++++++ util.h | 1 + 3 files changed, 19 insertions(+), 12 deletions(-) diff --git a/command.c b/command.c index 51acfb6..5121ddf 100644 --- a/command.c +++ b/command.c @@ -255,9 +255,8 @@ static struct cmd_retval cmd_send(struct conn_data *data,const char *tag,const c static struct cmd_retval history_cmd_helper( struct conn_data *data,const char *tag,const char **args, const char *cmdname,i64 beforeid){ - char *endp; - i64 nrequested=strtoll(args[1],&endp,10); - if(args[1][0]=='\0'||*endp!='\0'||nrequested<0){ + i64 nrequested; + if(!parse_i64(args[1],&nrequested)||nrequested<0){ debug("Connection fd=%d sent an invalid number for '%s': '%s'", data->fd,cmdname,args[1]); return RET_CLOSE(true); @@ -308,9 +307,8 @@ static struct cmd_retval cmd_history(struct conn_data *data,const char *tag,cons } static struct cmd_retval cmd_history_before(struct conn_data *data,const char *tag,const char **args){ - char *endp; - i64 beforeid=strtoll(args[2],&endp,10); - if(args[2][0]=='\0'||*endp!='\0'){ + i64 beforeid; + if(!parse_i64(args[2],&beforeid)){ debug("Connection fd=%d sent an invalid id for 'history_before': '%s'", data->fd,args[2]); return RET_CLOSE(true); @@ -359,9 +357,8 @@ static struct cmd_retval cmd_user_active(struct conn_data *data,const char *tag, net_send_error(data->fd,tag,"Not logged in"); return RET_OK; } - char *endp; - i64 active=strtoll(args[0],&endp,10); - if(args[0][0]=='\0'||*endp!='\0'||active<0){ + i64 active; + if(!parse_i64(args[0],&active)||active<0){ debug("Connection fd=%d sent an invalid number for 'user_active': '%s'",data->fd,args[0]); return RET_CLOSE(true); } @@ -404,15 +401,15 @@ bool handle_input_line(struct conn_data *data,char *line,size_t linelen){ debug("No space in input line from connection %d",data->fd); return true; } - char *tag=line; - size_t taglen=sepp-tag; + const char *tag=line; + const size_t taglen=sepp-tag; *sepp='\0'; line+=taglen+1; linelen-=taglen+1; sepp=memchr(line,' ',linelen); if(sepp==NULL)sepp=line+linelen; - size_t cmdlen=sepp-line; + const size_t cmdlen=sepp-line; size_t cmdi; for(cmdi=0;cmdi