diff options
Diffstat (limited to 'command.c')
-rw-r--r-- | command.c | 21 |
1 files changed, 9 insertions, 12 deletions
@@ -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<NCOMMANDS;cmdi++){ if(cmdlen==strlen(commands[cmdi].cmdname)&& |