Introduction
Introduction Statistics Contact Development Disclaimer Help
arg.h - surf - surf browser, a WebKit based browser
git clone git://git.suckless.org/surf
Log
Files
Refs
README
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 suckless.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.