sync arg.h - dedup - deduplicating backup program
 (HTM) git clone git://bitreich.org/dedup/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/dedup/
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Tags
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 6f277b62999ea260b734120ad894fa3d16357daf
 (DIR) parent bcd01c69cfead07db9df4e8dc6d07fe2263766b8
 (HTM) Author: Hiltjo Posthuma <hiltjo@codemadness.org>
       Date:   Tue, 20 Mar 2018 19:42:50 +0100
       
       sync arg.h
       
       - don't modify argv, use a counter: on some platforms (OpenBSD) this
         changes the exposed argv in tools using the kvm_* interface, such
         as ps and pgrep.
       - remove some unused macros.
       
       Diffstat:
         M arg.h                               |      37 +++++++++----------------------
       
       1 file changed, 11 insertions(+), 26 deletions(-)
       ---
 (DIR) diff --git a/arg.h b/arg.h
       @@ -21,45 +21,30 @@ extern char *argv0;
                                                argc--;\
                                                break;\
                                        }\
       -                                for (brk_ = 0, argv[0]++, argv_ = argv;\
       -                                                argv[0][0] && !brk_;\
       -                                                argv[0]++) {\
       +                                int i_;\
       +                                for (i_ = 1, brk_ = 0, argv_ = argv;\
       +                                                argv[0][i_] && !brk_;\
       +                                                i_++) {\
                                                if (argv_ != argv)\
                                                        break;\
       -                                        argc_ = argv[0][0];\
       +                                        argc_ = argv[0][i_];\
                                                switch (argc_)
        
       -/* Handles obsolete -NUM syntax */
       -#define ARGNUM                                case '0':\
       -                                        case '1':\
       -                                        case '2':\
       -                                        case '3':\
       -                                        case '4':\
       -                                        case '5':\
       -                                        case '6':\
       -                                        case '7':\
       -                                        case '8':\
       -                                        case '9'
       -
        #define ARGEND                        }\
                                }
        
        #define ARGC()                argc_
        
       -#define ARGNUMF()        (brk_ = 1, estrtonum(argv[0], 0, INT_MAX))
       -
       -#define EARGF(x)        ((argv[0][1] == '\0' && argv[1] == NULL)?\
       +#define EARGF(x)        ((argv[0][i_+1] == '\0' && argv[1] == NULL)?\
                                        ((x), abort(), (char *)0) :\
       -                                (brk_ = 1, (argv[0][1] != '\0')?\
       -                                        (&argv[0][1]) :\
       +                                (brk_ = 1, (argv[0][i_+1] != '\0')?\
       +                                        (&argv[0][i_+1]) :\
                                                (argc--, argv++, argv[0])))
        
       -#define ARGF()                ((argv[0][1] == '\0' && argv[1] == NULL)?\
       +#define ARGF()                ((argv[0][i_+1] == '\0' && argv[1] == NULL)?\
                                        (char *)0 :\
       -                                (brk_ = 1, (argv[0][1] != '\0')?\
       -                                        (&argv[0][1]) :\
       +                                (brk_ = 1, (argv[0][i_+1] != '\0')?\
       +                                        (&argv[0][i_+1]) :\
                                                (argc--, argv++, argv[0])))
        
       -#define LNGARG()        &argv[0][0]
       -
        #endif