X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=alias.c;h=372b7d809301f9e3e936459e405cd6f2627bd4a9;hb=e330d8ca1a9ec38ce40b0f67123b1dd893f0b31c;hp=ccb1108c94436035d0da8b1d6f08f859b68294a3;hpb=b43b73666be32ecdc27384d67dc88e4b4869efa1;p=git.git diff --git a/alias.c b/alias.c index ccb1108c9..372b7d809 100644 --- a/alias.c +++ b/alias.c @@ -27,7 +27,7 @@ int split_cmdline(char *cmdline, const char ***argv) int src, dst, count = 0, size = 16; char quoted = 0; - *argv = xmalloc(sizeof(char*) * size); + *argv = xmalloc(sizeof(char *) * size); /* split alias_string */ (*argv)[count++] = cmdline; @@ -38,10 +38,7 @@ int split_cmdline(char *cmdline, const char ***argv) while (cmdline[++src] && isspace(cmdline[src])) ; /* skip */ - if (count >= size) { - size += 16; - *argv = xrealloc(*argv, sizeof(char*) * size); - } + ALLOC_GROW(*argv, count+1, size); (*argv)[count++] = cmdline + dst; } else if (!quoted && (c == '\'' || c == '"')) { quoted = c; @@ -72,6 +69,9 @@ int split_cmdline(char *cmdline, const char ***argv) return error("unclosed quote"); } + ALLOC_GROW(*argv, count+1, size); + (*argv)[count] = NULL; + return count; }