From 407d28bf5d7a0249bc2bdcccb44b26576643ebf7 Mon Sep 17 00:00:00 2001 From: Jfreegman Date: Sun, 20 Oct 2013 07:16:26 -0400 Subject: [PATCH] awhen atoi returns 0 on invalid input we don't want that to count as valid --- src/chat.c | 2 +- src/commands.c | 15 +++++++-------- src/prompt.c | 2 +- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/chat.c b/src/chat.c index 4c93cc2..b5db463 100644 --- a/src/chat.c +++ b/src/chat.c @@ -283,7 +283,7 @@ static void chat_savefile(ToxWindow *self, ChatContext *ctx, Tox *m, uint8_t *nu { uint8_t filenum = atoi(num); - if (filenum < 0 || filenum >= MAX_FILES) { + if ((filenum == 0 && strcmp(num, "0")) || filenum >= MAX_FILES) { wprintw(ctx->history, "No pending file transfers with that number.\n"); return; } diff --git a/src/commands.c b/src/commands.c index f2f085c..0f6ff18 100644 --- a/src/commands.c +++ b/src/commands.c @@ -31,7 +31,7 @@ void cmd_accept(WINDOW *window, ToxWindow *prompt, Tox *m, int argc, char (*argv int num = atoi(argv[1]); - if (num < 0 || num >= MAX_FRIENDS_NUM) { + if ((num == 0 && strcmp(argv[1], "0"))|| num >= MAX_FRIENDS_NUM) { wprintw(window, "No pending friend request with that number.\n"); return; } @@ -214,7 +214,7 @@ void cmd_join(WINDOW *window, ToxWindow *prompt, Tox *m, int argc, char (*argv)[ int num = atoi(argv[1]); - if (num < 0 || num >= MAX_FRIENDS_NUM) { + if ((num == 0 && strcmp(argv[1], "0")) || num >= MAX_FRIENDS_NUM) { wprintw(window, "No pending group chat invite with that number.\n"); return; } @@ -314,7 +314,7 @@ void cmd_status(WINDOW *window, ToxWindow *prompt, Tox *m, int argc, char (*argv { uint8_t *msg = NULL; - if (argc == 2) { + if (argc >= 2) { msg = argv[2]; if (msg[0] != '\"') { @@ -392,12 +392,11 @@ void execute(WINDOW *window, ToxWindow *prompt, Tox *m, char *u_cmd) } } - /* Copy from start to current position */ - u_cmd[i] = '\0'; - strcpy(args[num_args++], start); - if (!f_end) - ++i; + u_cmd[i++] = '\0'; + + /* Copy from start to current position */ + strcpy(args[num_args++], start); } /* match input to command list */ diff --git a/src/prompt.c b/src/prompt.c index aed127b..80fd8bd 100644 --- a/src/prompt.c +++ b/src/prompt.c @@ -99,7 +99,7 @@ static void print_prompt_help(ToxWindow *self) wprintw(self->window, " /accept : Accept friend request\n"); wprintw(self->window, " /connect : Manually connect to a DHT server\n"); wprintw(self->window, " /status : Set your status with optional note\n"); - wprintw(self->window, " /note : Set a personal note\n"); + wprintw(self->window, " /note : Set a personal note\n"); wprintw(self->window, " /nick : Set your nickname\n"); wprintw(self->window, " /join : Join a group chat\n"); wprintw(self->window, " /groupchat : Create a group chat\n");