commit bb8c945c0481123fc4082aa1cbd4f23efa683033
Author:     Laslo Hunhold <[email protected]>
AuthorDate: Wed Aug 2 13:44:02 2017 +0200
Commit:     Laslo Hunhold <[email protected]>
CommitDate: Wed Aug 2 13:46:00 2017 +0200

    arg.h: Handle { NULL } argv[] properly
    
    Previously, we would return argc as -1, which could cause some problems.
    This was not an issue introduced in the rewrite and is a bug present in
    the "old" arg.h as well.
    
    Thanks Isabella Parakiss for reporting this!

diff --git a/arg.h b/arg.h
index 003f8ec..cf30d65 100644
--- a/arg.h
+++ b/arg.h
@@ -22,7 +22,7 @@
 extern char *argv0;
 
 /* int main(int argc, char *argv[]) */
-#define ARGBEGIN for (argv0 = *argv, argc--, argv++;                           
   \
+#define ARGBEGIN for (argv0 = *argv, *argv ? (argc--, argv++) : ((void *)0);   
   \
                       *argv && (*argv)[0] == '-' && (*argv)[1]; argc--, 
argv++) { \
                        int argparsed;                                          
  \
                        if ((*argv)[1] == '-' && (*argv)[2] == '\0') {          
  \

Reply via email to