push
[NextIRCd.git] / src / ircd_parse.c
index 3a23335d05e4b1fa11403ecaf4c1008e6d759b32..0a72a2af9c681cbc6f0227f3baa9c965ec4090bc 100644 (file)
@@ -90,9 +90,9 @@ static char *parse_irc_token(char **data) {
        //find next " "
        int i;
        char *token = *data;
-       for(i = 0; *data[i]; i++) {
-               if(*data[i] != ' ') {
-                       *data[i] = '\0';
+       for(i = 0; (*data)[i]; i++) {
+               if((*data)[i] == ' ') {
+                       (*data)[i] = '\0';
                        *data += i+1;
                        break;
                }
@@ -101,10 +101,9 @@ static char *parse_irc_token(char **data) {
 }
 
 static char **parse_irc_params(char *data, int *argc, int maxargs) {
-       if(maxargs == 0) {
-               *argc = 0;
+       *argc = 0;
+       if(maxargs == 0)
                return NULL;
-       }
     char **argv = calloc(maxargs, sizeof(*argv));
     while(*data) {
         //skip leading spaces
@@ -115,7 +114,7 @@ static char **parse_irc_params(char *data, int *argc, int maxargs) {
            argv[*argc++] = data + 1;
            break;
         }
-        argv[*argc++] = data;
+        argv[(*argc)++] = data;
         if (*argc >= maxargs)
             break;
         while (*data != ' ' && *data)
@@ -132,7 +131,7 @@ void parse_client_data(struct Client *client, char *data) {
        int found = 0;
        int i;
        for(i = 0; (parse_command_list[i].tokens.client ||  parse_command_list[i].tokens.server); i++) {
-               if(stricmp(parse_command_list[i].tokens.client, token)) {
+               if(stricmp(parse_command_list[i].tokens.client, token) == 0) {
                        found = 1;
                        break;
                }
@@ -162,7 +161,7 @@ void parse_unauth_data(struct Auth *auth, char *data) {
        int found = 0;
        int i;
        for(i = 0; (parse_command_list[i].tokens.client ||  parse_command_list[i].tokens.server); i++) {
-               if(stricmp(parse_command_list[i].tokens.client, token)) {
+               if(stricmp(parse_command_list[i].tokens.client, token) == 0) {
                        found = 1;
                        break;
                }