arg.h - utf8expr - expr(1) for UTF-8
(HTM) git clone git://bitreich.org/utf8expr/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/utf8expr/
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) Tags
(DIR) LICENSE
---
arg.h (732B)
---
1 /*
2 * Copy me if you can.
3 * by 20h
4 */
5
6 #ifndef __ARG_H__
7 #define __ARG_H__
8
9 extern char *argv0;
10
11 #define USED(x) ((void)(x))
12
13 #define ARGBEGIN for (argv0 = *argv, argv++, argc--;\
14 argv[0] && argv[0][1]\
15 && argv[0][0] == '-';\
16 argc--, argv++) {\
17 char _argc;\
18 char **_argv;\
19 if (argv[0][1] == '-' && argv[0][2] == '\0') {\
20 argv++;\
21 argc--;\
22 break;\
23 }\
24 for (argv[0]++, _argv = argv; argv[0][0];\
25 argv[0]++) {\
26 if (_argv != argv)\
27 break;\
28 _argc = argv[0][0];\
29 switch (_argc)
30
31 #define ARGEND }\
32 USED(_argc);\
33 }\
34 USED(argv);\
35 USED(argc);
36
37 #define EARGF(x) ((argv[1] == NULL)? ((x), abort(), (char *)0) :\
38 (argc--, argv++, argv[0]))
39
40 #endif
41