| Import the arg.h from st with the fixed oob bug. - tabbed - tab interface for a… | |
| git clone git://git.suckless.org/tabbed | |
| Log | |
| Files | |
| Refs | |
| README | |
| LICENSE | |
| --- | |
| commit 4ccaba49681008900bacfd1eec23571d9b488619 | |
| parent 3c79bcb40808c31a9f8f47538f4f8d5c489b7f60 | |
| Author: Christoph Lohmann <[email protected]> | |
| Date: Sun, 21 Feb 2016 17:22:58 +0100 | |
| Import the arg.h from st with the fixed oob bug. | |
| Diffstat: | |
| M arg.h | 44 ++++++++++++++---------------… | |
| 1 file changed, 20 insertions(+), 24 deletions(-) | |
| --- | |
| diff --git a/arg.h b/arg.h | |
| @@ -1,52 +1,48 @@ | |
| -/* See the LICENSE file for copyright and license details. */ | |
| +/* | |
| + * Copy me if you can. | |
| + * by 20h | |
| + */ | |
| -#ifndef __ARG_H__ | |
| -#define __ARG_H__ | |
| +#ifndef ARG_H__ | |
| +#define ARG_H__ | |
| extern char *argv0; | |
| -#define USED(x) ((void)(x)) | |
| - | |
| /* use main(int argc, char *argv[]) */ | |
| #define ARGBEGIN for (argv0 = *argv, argv++, argc--;\ | |
| - argv[0] && argv[0][1]\ | |
| - && argv[0][0] == '-';\ | |
| + argv[0] && argv[0][0] == '-'\ | |
| + && argv[0][1];\ | |
| argc--, argv++) {\ | |
| - char _argc;\ | |
| - char **_argv;\ | |
| - int brk;\ | |
| + char argc_;\ | |
| + char **argv_;\ | |
| + int brk_;\ | |
| if (argv[0][1] == '-' && argv[0][2] == '\0') {\ | |
| argv++;\ | |
| argc--;\ | |
| break;\ | |
| }\ | |
| - for (brk = 0, argv[0]++, _argv = argv;\ | |
| - argv[0][0] && !brk;\ | |
| + for (brk_ = 0, argv[0]++, argv_ = argv;\ | |
| + argv[0][0] && !brk_;\ | |
| argv[0]++) {\ | |
| - if (_argv != argv)\ | |
| + if (argv_ != argv)\ | |
| break;\ | |
| - _argc = argv[0][0];\ | |
| - switch (_argc) | |
| - | |
| + argc_ = argv[0][0];\ | |
| + switch (argc_) | |
| #define ARGEND }\ | |
| - USED(_argc);\ | |
| - }\ | |
| - USED(argv);\ | |
| - USED(argc); | |
| + } | |
| -#define ARGC() _argc | |
| +#define ARGC() argc_ | |
| #define EARGF(x) ((argv[0][1] == '\0' && argv[1] == NULL)?\ | |
| ((x), abort(), (char *)0) :\ | |
| - (brk = 1, (argv[0][1] != '\0')?\ | |
| + (brk_ = 1, (argv[0][1] != '\0')?\ | |
| (&argv[0][1]) :\ | |
| (argc--, argv++, argv[0]))) | |
| #define ARGF() ((argv[0][1] == '\0' && argv[1] == NULL)?\ | |
| (char *)0 :\ | |
| - (brk = 1, (argv[0][1] != '\0')?\ | |
| + (brk_ = 1, (argv[0][1] != '\0')?\ | |
| (&argv[0][1]) :\ | |
| (argc--, argv++, argv[0]))) | |
| #endif | |
| - |