[hackers] [farbfeld] arg.h: Handle { NULL } argv[] properly || Laslo Hunhold

From: <git_AT_suckless.org>
Date: Wed, 2 Aug 2017 13:46:12 +0200 (CEST)

commit bb8c945c0481123fc4082aa1cbd4f23efa683033
Author: Laslo Hunhold <dev_AT_frign.de>
AuthorDate: Wed Aug 2 13:44:02 2017 +0200
Commit: Laslo Hunhold <dev_AT_frign.de>
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
_AT_@ -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') { \
Received on Wed Aug 02 2017 - 13:46:12 CEST

This archive was generated by hypermail 2.3.0 : Wed Aug 02 2017 - 13:50:12 CEST