]> jfr.im git - solanum.git/commitdiff
librb: remove unnecessary NULL from the end of rb_string_to_array output
authorSimon Arlott <sa.me.uk>
Fri, 28 Jul 2017 20:50:16 +0000 (21:50 +0100)
committerSimon Arlott <sa.me.uk>
Sat, 29 Jul 2017 21:46:04 +0000 (22:46 +0100)
ircd/authproc.c
ircd/bandbi.c
ircd/dns.c
ircd/msgbuf.c
ircd/sslproc.c
librb/src/tools.c

index 26033b09115788770fd020c345cedcfb0ea434dd..797d08064dacc23139281ef110fca8b40a0a1940 100644 (file)
@@ -275,13 +275,13 @@ parse_authd_reply(rb_helper * helper)
        ssize_t len;
        int parc;
        char buf[READBUF_SIZE];
-       char *parv[MAXPARA + 1];
+       char *parv[MAXPARA];
 
        while((len = rb_helper_read(helper, buf, sizeof(buf))) > 0)
        {
                struct authd_cb *cmd;
 
-               parc = rb_string_to_array(buf, parv, MAXPARA);
+               parc = rb_string_to_array(buf, parv, sizeof(parv));
                cmd = &authd_cmd_tab[(unsigned char)*parv[0]];
                if(cmd->fn != NULL)
                {
index 567f30fd7f1200a081f456c16b0184168ded7cd8..5384840d8abec5e1df43bb4139598333b0875fcc 100644 (file)
@@ -400,12 +400,12 @@ static void
 bandb_parse(rb_helper *helper)
 {
        static char buf[READBUF_SIZE];
-       char *parv[MAXPARA + 1];
+       char *parv[MAXPARA];
        int len, parc;
 
        while((len = rb_helper_read(helper, buf, sizeof(buf))))
        {
-               parc = rb_string_to_array(buf, parv, MAXPARA);
+               parc = rb_string_to_array(buf, parv, sizeof(parv));
 
                if(parc < 1)
                        continue;
index 5ee9b0c764ad8c7e3eb433cd609661e7c571f855..b69b1bc2d7278270dbae5a5728472bb9e7b49e37 100644 (file)
@@ -303,7 +303,7 @@ stats_results_callback(int resc, const char *resv[], int status, void *data)
        }
        else
        {
-               const char *error = resc ? resv[resc] : "Unknown error";
+               const char *error = resc ? resv[resc - 1] : "Unknown error";
                iwarn("Error getting DNS servers: %s", error);
        }
 }
index 9d63d109fa3c66bef846a628f62eb1d04e4c8443..1336c096bfb76502f12f7ed796971d7531f86747 100644 (file)
@@ -33,8 +33,7 @@ int
 msgbuf_parse(struct MsgBuf *msgbuf, char *line)
 {
        char *ch;
-       char *parv[MAXPARA + 1];
-       size_t n_para;
+       char *parv[MAXPARA];
 
        /* skip any leading spaces */
        for (ch = line; *ch && *ch == ' '; ch++)
@@ -104,14 +103,11 @@ msgbuf_parse(struct MsgBuf *msgbuf, char *line)
        if (*ch == '\0')
                return 1;
 
-       n_para = rb_string_to_array(ch, parv, MAXPARA);
-       if (n_para == 0)
+       msgbuf->n_para = rb_string_to_array(ch, (char **)msgbuf->para, MAXPARA);
+       if (msgbuf->n_para == 0)
                return 1;
 
-       msgbuf->cmd = parv[0];
-       for (size_t i = 0; i < n_para; i++)
-               msgbuf_append_para(msgbuf, parv[i]);
-
+       msgbuf->cmd = msgbuf->para[0];
        return 0;
 }
 
index fcc4afec878caa3981f2eaedb0f263aeb1a7490f..ffea6e89babef2aca35f77eec5eaf6ca3fb7eb8a 100644 (file)
@@ -355,10 +355,10 @@ ssl_process_zipstats(ssl_ctl_t * ctl, ssl_ctl_buf_t * ctl_buf)
 {
        struct Client *server;
        struct ZipStats *zips;
-       char *parv[7];
-       int parc = rb_string_to_array(ctl_buf->buf, parv, sizeof(parv) - 1);
+       char *parv[6];
+       int parc = rb_string_to_array(ctl_buf->buf, parv, sizeof(parv));
 
-       if (parc < 6)
+       if (parc < sizeof(parv))
                return;
 
        server = find_server(NULL, parv[1]);
index 4e240e4ebffb311bdd891a5db66f9d8f425d916a..e576adcc4569011a98dccaca016f7f8f6098d6c6 100644 (file)
@@ -83,7 +83,7 @@ rb_free_rb_dlink_node(rb_dlink_node *ptr)
  *   Changes a given buffer into an array of parameters.
  *   Taken from ircd-ratbox.
  *
- * inputs      - string to parse, array to put in (size >= maxpara+1)
+ * inputs      - string to parse, array to put in (size >= maxpara)
  * outputs     - number of parameters
  */
 int
@@ -92,8 +92,6 @@ rb_string_to_array(char *string, char **parv, int maxpara)
        char *p, *xbuf = string;
        int x = 0;
 
-       parv[x] = NULL;
-
        if(string == NULL || string[0] == '\0')
                return x;
 
@@ -108,13 +106,11 @@ rb_string_to_array(char *string, char **parv, int maxpara)
                {
                        xbuf++;
                        parv[x++] = xbuf;
-                       parv[x] = NULL;
                        return x;
                }
                else
                {
                        parv[x++] = xbuf;
-                       parv[x] = NULL;
                        if((p = strchr(xbuf, ' ')) != NULL)
                        {
                                *p++ = '\0';
@@ -134,7 +130,6 @@ rb_string_to_array(char *string, char **parv, int maxpara)
                p++;
 
        parv[x++] = p;
-       parv[x] = NULL;
        return x;
 }