X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=winutils.c;h=00d35dfbded07abf2d46fa70c8b11d83fcadac0d;hb=4abd468e14d110f2085f7a693687a9c19e1d47e1;hp=9d707ff1e60626cde1e80cc5bcccca7ab4d3914b;hpb=437d740fb32b6cf2b8c3df853265b8202f2ca407;p=PuTTY.git diff --git a/winutils.c b/winutils.c index 9d707ff1..00d35dfb 100644 --- a/winutils.c +++ b/winutils.c @@ -11,6 +11,8 @@ #ifdef TESTMODE /* Definitions to allow this module to be compiled standalone for testing. */ #define smalloc malloc +#define srealloc realloc +#define sfree free #endif /* @@ -130,6 +132,18 @@ void split_into_argv(char *cmdline, int *argc, char ***argv, * produce a literal quote. */ + /* + * First deal with the simplest of all special cases: if there + * aren't any arguments, return 0,NULL,NULL. + */ + while (*cmdline && isspace(*cmdline)) cmdline++; + if (!*cmdline) { + if (argc) *argc = 0; + if (argv) *argv = NULL; + if (argstart) *argstart = NULL; + return; + } + /* * This will guaranteeably be big enough; we can realloc it * down later. @@ -446,4 +460,4 @@ int main(int argc, char **argv) return 0; } -#endif \ No newline at end of file +#endif