Introduction
Introduction Statistics Contact Development Disclaimer Help
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
-
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.