iarg.h - gramscii - A simple editor for ASCII box-and-arrow charts Err bitreich.org 70 1Log /scm/gramscii/log.gph bitreich.org 70 1Files /scm/gramscii/files.gph bitreich.org 70 1Refs /scm/gramscii/refs.gph bitreich.org 70 1Tags /scm/gramscii/tag bitreich.org 70 1README /scm/gramscii/file/README.md.gph bitreich.org 70 1LICENSE /scm/gramscii/file/COPYING.gph bitreich.org 70 i--- Err bitreich.org 70 iarg.h (685B) Err bitreich.org 70 i--- Err bitreich.org 70 i 1 #ifndef ARG_H Err bitreich.org 70 i 2 #define ARG_H Err bitreich.org 70 i 3 Err bitreich.org 70 i 4 #define USED(x) ((void)(x)) Err bitreich.org 70 i 5 Err bitreich.org 70 i 6 extern char *argv0; Err bitreich.org 70 i 7 Err bitreich.org 70 i 8 #define ARGBEGIN for(argv0 = *argv, argv++, argc--;\ Err bitreich.org 70 i 9 argv[0] && argv[0][0] == '-'\ Err bitreich.org 70 i 10 && argv[0][1];\ Err bitreich.org 70 i 11 argc--, argv++) {\ Err bitreich.org 70 i 12 char _argc;\ Err bitreich.org 70 i 13 char **_argv;\ Err bitreich.org 70 i 14 int i_;\ Err bitreich.org 70 i 15 if(argv[0][1] == '-' && argv[0][2] == '\0') {\ Err bitreich.org 70 i 16 argv++;\ Err bitreich.org 70 i 17 argc--;\ Err bitreich.org 70 i 18 break;\ Err bitreich.org 70 i 19 }\ Err bitreich.org 70 i 20 for(i_ = 1, _argv = argv; argv[0][i_];\ Err bitreich.org 70 i 21 i_++) {\ Err bitreich.org 70 i 22 if(_argv != argv)\ Err bitreich.org 70 i 23 break;\ Err bitreich.org 70 i 24 _argc = argv[0][i_];\ Err bitreich.org 70 i 25 switch(_argc) Err bitreich.org 70 i 26 Err bitreich.org 70 i 27 #define ARGEND }\ Err bitreich.org 70 i 28 USED(_argc);\ Err bitreich.org 70 i 29 }\ Err bitreich.org 70 i 30 USED(argv);\ Err bitreich.org 70 i 31 USED(argc); Err bitreich.org 70 i 32 Err bitreich.org 70 i 33 #define EARGF(x) ((argv[1] == NULL)? ((x), abort(), (char *)0) :\ Err bitreich.org 70 i 34 (argc--, argv++, argv[0])) Err bitreich.org 70 i 35 Err bitreich.org 70 i 36 #endif Err bitreich.org 70 i 37 Err bitreich.org 70 .