tUpdate arg.h from sbase - st - [fork] customized build of st, the simple termi… | |
git clone git://src.adamsgaard.dk/st | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 33da67dac035b0d592f984bce90aec8d815b38a8 | |
parent d60ee7337b5f378d8858ef3774c5552d2c8e54fa | |
Author: Roberto E. Vargas Caballero <[email protected]> | |
Date: Wed, 18 Dec 2013 08:29:28 +0100 | |
Update arg.h from sbase | |
sbase did some interesting modifications to arg.h (basically it | |
was fixed an incorrect use of the _ namespace), and this commit | |
ttake this last version for st. | |
Diffstat: | |
M arg.h | 48 ++++++++++++++++++-----------… | |
1 file changed, 28 insertions(+), 20 deletions(-) | |
--- | |
diff --git a/arg.h b/arg.h | |
t@@ -3,53 +3,61 @@ | |
* by 20h | |
*/ | |
-#ifndef __ARG_H__ | |
-#define __ARG_H__ | |
+#ifndef ARG_H__ | |
+#define ARG_H__ | |
extern char *argv0; | |
-#define USED(x) ((void)(x)) | |
- | |
/* use main(int argc, char *argv[]) */ | |
#define ARGBEGIN for (argv0 = *argv, argv++, argc--;\ | |
argv[0] && argv[0][1]\ | |
&& argv[0][0] == '-';\ | |
argc--, argv++) {\ | |
- char _argc;\ | |
- char **_argv;\ | |
- int brk;\ | |
+ char argc_;\ | |
+ char **argv_;\ | |
+ int brk_;\ | |
if (argv[0][1] == '-' && argv[0][2] == '\0') {\ | |
argv++;\ | |
argc--;\ | |
break;\ | |
}\ | |
- for (brk = 0, argv[0]++, _argv = argv;\ | |
- argv[0][0] && !brk;\ | |
+ for (brk_ = 0, argv[0]++, argv_ = argv;\ | |
+ argv[0][0] && !brk_;\ | |
argv[0]++) {\ | |
- if (_argv != argv)\ | |
+ if (argv_ != argv)\ | |
break;\ | |
- _argc = argv[0][0];\ | |
- switch (_argc) | |
+ argc_ = argv[0][0];\ | |
+ 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 }\ | |
- USED(_argc);\ | |
- }\ | |
- USED(argv);\ | |
- USED(argc); | |
+ } | |
+ | |
+#define ARGC() argc_ | |
-#define ARGC() _argc | |
+#define ARGNUMF(base) (brk_ = 1, estrtol(argv[0], (base))) | |
#define EARGF(x) ((argv[0][1] == '\0' && argv[1] == NULL)?\ | |
((x), abort(), (char *)0) :\ | |
- (brk = 1, (argv[0][1] != '\0')?\ | |
+ (brk_ = 1, (argv[0][1] != '\0')?\ | |
(&argv[0][1]) :\ | |
(argc--, argv++, argv[0]))) | |
#define ARGF() ((argv[0][1] == '\0' && argv[1] == NULL)?\ | |
(char *)0 :\ | |
- (brk = 1, (argv[0][1] != '\0')?\ | |
+ (brk_ = 1, (argv[0][1] != '\0')?\ | |
(&argv[0][1]) :\ | |
(argc--, argv++, argv[0]))) | |
#endif | |
- |