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