iarg.h - sup - small tool for privilege escalation Err bitreich.org 70 hgit clone git://bitreich.org/sup git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/sup URL:git://bitreich.org/sup git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/sup bitreich.org 70 1Log /scm/sup/log.gph bitreich.org 70 1Files /scm/sup/files.gph bitreich.org 70 1Refs /scm/sup/refs.gph bitreich.org 70 1Tags /scm/sup/tag bitreich.org 70 1README /scm/sup/file/README.gph bitreich.org 70 1LICENSE /scm/sup/file/LICENSE.gph bitreich.org 70 i--- Err bitreich.org 70 iarg.h (1036B) Err bitreich.org 70 i--- Err bitreich.org 70 i 1 /* Err bitreich.org 70 i 2 * Copy me if you can. Err bitreich.org 70 i 3 * by 20h Err bitreich.org 70 i 4 */ Err bitreich.org 70 i 5 Err bitreich.org 70 i 6 #ifndef ARG_H__ Err bitreich.org 70 i 7 #define ARG_H__ Err bitreich.org 70 i 8 Err bitreich.org 70 i 9 extern char *argv0; Err bitreich.org 70 i 10 Err bitreich.org 70 i 11 /* use main(int argc, char *argv[]) */ Err bitreich.org 70 i 12 #define ARGBEGIN for (argv0 = *argv, argv++, argc--;\ Err bitreich.org 70 i 13 argv[0] && argv[0][0] == '-'\ Err bitreich.org 70 i 14 && argv[0][1];\ Err bitreich.org 70 i 15 argc--, argv++) {\ Err bitreich.org 70 i 16 char argc_;\ Err bitreich.org 70 i 17 char **argv_;\ Err bitreich.org 70 i 18 int brk_;\ Err bitreich.org 70 i 19 if (argv[0][1] == '-' && argv[0][2] == '\0') {\ Err bitreich.org 70 i 20 argv++;\ Err bitreich.org 70 i 21 argc--;\ Err bitreich.org 70 i 22 break;\ Err bitreich.org 70 i 23 }\ Err bitreich.org 70 i 24 int i_;\ Err bitreich.org 70 i 25 for (i_ = 1, brk_ = 0, argv_ = argv;\ Err bitreich.org 70 i 26 argv[0][i_] && !brk_;\ Err bitreich.org 70 i 27 i_++) {\ Err bitreich.org 70 i 28 if (argv_ != argv)\ Err bitreich.org 70 i 29 break;\ Err bitreich.org 70 i 30 argc_ = argv[0][i_];\ Err bitreich.org 70 i 31 switch (argc_) Err bitreich.org 70 i 32 Err bitreich.org 70 i 33 #define ARGEND }\ Err bitreich.org 70 i 34 } Err bitreich.org 70 i 35 Err bitreich.org 70 i 36 #define ARGC() argc_ Err bitreich.org 70 i 37 Err bitreich.org 70 i 38 #define EARGF(x) ((argv[0][i_+1] == '\0' && argv[1] == NULL)?\ Err bitreich.org 70 i 39 ((x), abort(), (char *)0) :\ Err bitreich.org 70 i 40 (brk_ = 1, (argv[0][i_+1] != '\0')?\ Err bitreich.org 70 i 41 (&argv[0][i_+1]) :\ Err bitreich.org 70 i 42 (argc--, argv++, argv[0]))) Err bitreich.org 70 i 43 Err bitreich.org 70 i 44 #define ARGF() ((argv[0][i_+1] == '\0' && argv[1] == NULL)?\ Err bitreich.org 70 i 45 (char *)0 :\ Err bitreich.org 70 i 46 (brk_ = 1, (argv[0][i_+1] != '\0')?\ Err bitreich.org 70 i 47 (&argv[0][i_+1]) :\ Err bitreich.org 70 i 48 (argc--, argv++, argv[0]))) Err bitreich.org 70 i 49 Err bitreich.org 70 i 50 #endif Err bitreich.org 70 .