Introduction
Introduction Statistics Contact Development Disclaimer Help
arg.h - thinglaunch - A simple command and password promtper for X11.
git clone git://bitreich.org/thinglaunch
Log
Files
Refs
Tags
LICENSE
---
arg.h (1010B)
---
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 /* use main(int argc, char *argv[]) */
12 #define ARGBEGIN for (argv0 = *argv, argv++, argc--;\
13 argv[0] && argv[0][0] == '-'\
14 && argv[0][1];\
15 argc--, argv++) {\
16 char argc_;\
17 char **argv_;\
18 int brk_;\
19 if (argv[0][1] == '-' && argv[0][2] == '…
20 argv++;\
21 argc--;\
22 break;\
23 }\
24 for (brk_ = 0, argv[0]++, argv_ = argv;\
25 argv[0][0] && !brk_;\
26 argv[0]++) {\
27 if (argv_ != argv)\
28 break;\
29 argc_ = argv[0][0];\
30 switch (argc_)
31 #define ARGEND }\
32 }
33
34 #define ARGC() argc_
35
36 #define EARGF(x) ((argv[0][1] == '\0' && argv[1] == NULL)?\
37 ((x), abort(), (char *)0) :\
38 (brk_ = 1, (argv[0][1] != '\0')?\
39 (&argv[0][1]) :\
40 (argc--, argv++, argv[0])))
41
42 #define ARGF() ((argv[0][1] == '\0' && argv[1] == NULL)?\
43 (char *)0 :\
44 (brk_ = 1, (argv[0][1] != '\0')?\
45 (&argv[0][1]) :\
46 (argc--, argv++, argv[0])))
47
48 #endif
You are viewing proxied material from bitreich.org. 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.