it* My version of sent Err codevoid.de 70 i Err codevoid.de 70 hgit clone git://git.codevoid.de/sent-sdk.git URL:git://git.codevoid.de/sent-sdk.git codevoid.de 70 1Log /git/sent-sdk/log.gph codevoid.de 70 1Files /git/sent-sdk/files.gph codevoid.de 70 1Refs /git/sent-sdk/refs.gph codevoid.de 70 1README /git/sent-sdk/file/README.md.gph codevoid.de 70 1LICENSE /git/sent-sdk/file/LICENSE.gph codevoid.de 70 i--- Err codevoid.de 70 1commit 278b8da82090abf21f655532f7f6501ebc850958 /git/sent-sdk/commit/278b8da82090abf21f655532f7f6501ebc850958.gph codevoid.de 70 1parent 6df3d039a02f6304fd6769717f8613f6012d2eb6 /git/sent-sdk/commit/6df3d039a02f6304fd6769717f8613f6012d2eb6.gph codevoid.de 70 hAuthor: Markus Teich URL:mailto:markus.teich@stusta.mhn.de codevoid.de 70 iDate: Sat, 2 Sep 2017 01:24:47 +0200 Err codevoid.de 70 i Err codevoid.de 70 imigrate to new arg.h Err codevoid.de 70 i Err codevoid.de 70 iDiffstat: Err codevoid.de 70 i M arg.h | 98 +++++++++++++------------------ Err codevoid.de 70 i Err codevoid.de 70 i1 file changed, 42 insertions(+), 56 deletions(-) Err codevoid.de 70 i--- Err codevoid.de 70 1diff --git a/arg.h b/arg.h /git/sent-sdk/file/arg.h.gph codevoid.de 70 it@@ -1,63 +1,49 @@ Err codevoid.de 70 i /* Err codevoid.de 70 i- * Copy me if you can. Err codevoid.de 70 i- * by 20h Err codevoid.de 70 i+ * ISC-License Err codevoid.de 70 i+ * Err codevoid.de 70 i+ * Copyright 2017 Laslo Hunhold Err codevoid.de 70 i+ * Err codevoid.de 70 i+ * Permission to use, copy, modify, and/or distribute this software for any Err codevoid.de 70 i+ * purpose with or without fee is hereby granted, provided that the above Err codevoid.de 70 i+ * copyright notice and this permission notice appear in all copies. Err codevoid.de 70 i+ * Err codevoid.de 70 i+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES Err codevoid.de 70 i+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF Err codevoid.de 70 i+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR Err codevoid.de 70 i+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES Err codevoid.de 70 i+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN Err codevoid.de 70 i+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF Err codevoid.de 70 i+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. Err codevoid.de 70 i */ Err codevoid.de 70 i- Err codevoid.de 70 i-#ifndef ARG_H__ Err codevoid.de 70 i-#define ARG_H__ Err codevoid.de 70 i+#ifndef ARG_H Err codevoid.de 70 i+#define ARG_H Err codevoid.de 70 i Err codevoid.de 70 i extern char *argv0; Err codevoid.de 70 i Err codevoid.de 70 i-/* use main(int argc, char *argv[]) */ Err codevoid.de 70 i-#define ARGBEGIN for (argv0 = *argv, argv++, argc--;\ Err codevoid.de 70 i- argv[0] && argv[0][0] == '-'\ Err codevoid.de 70 i- && argv[0][1];\ Err codevoid.de 70 i- argc--, argv++) {\ Err codevoid.de 70 i- char argc_;\ Err codevoid.de 70 i- char **argv_;\ Err codevoid.de 70 i- int brk_;\ Err codevoid.de 70 i- if (argv[0][1] == '-' && argv[0][2] == '\0') {\ Err codevoid.de 70 i- argv++;\ Err codevoid.de 70 i- argc--;\ Err codevoid.de 70 i- break;\ Err codevoid.de 70 i- }\ Err codevoid.de 70 i- for (brk_ = 0, argv[0]++, argv_ = argv;\ Err codevoid.de 70 i- argv[0][0] && !brk_;\ Err codevoid.de 70 i- argv[0]++) {\ Err codevoid.de 70 i- if (argv_ != argv)\ Err codevoid.de 70 i- break;\ Err codevoid.de 70 i- argc_ = argv[0][0];\ Err codevoid.de 70 i- switch (argc_) Err codevoid.de 70 i- Err codevoid.de 70 i-/* Handles obsolete -NUM syntax */ Err codevoid.de 70 i-#define ARGNUM case '0':\ Err codevoid.de 70 i- case '1':\ Err codevoid.de 70 i- case '2':\ Err codevoid.de 70 i- case '3':\ Err codevoid.de 70 i- case '4':\ Err codevoid.de 70 i- case '5':\ Err codevoid.de 70 i- case '6':\ Err codevoid.de 70 i- case '7':\ Err codevoid.de 70 i- case '8':\ Err codevoid.de 70 i- case '9' Err codevoid.de 70 i- Err codevoid.de 70 i-#define ARGEND }\ Err codevoid.de 70 i- } Err codevoid.de 70 i- Err codevoid.de 70 i-#define ARGC() argc_ Err codevoid.de 70 i- Err codevoid.de 70 i-#define ARGNUMF(base) (brk_ = 1, estrtol(argv[0], (base))) Err codevoid.de 70 i- Err codevoid.de 70 i-#define EARGF(x) ((argv[0][1] == '\0' && argv[1] == NULL)?\ Err codevoid.de 70 i- ((x), abort(), (char *)0) :\ Err codevoid.de 70 i- (brk_ = 1, (argv[0][1] != '\0')?\ Err codevoid.de 70 i- (&argv[0][1]) :\ Err codevoid.de 70 i- (argc--, argv++, argv[0]))) Err codevoid.de 70 i- Err codevoid.de 70 i-#define ARGF() ((argv[0][1] == '\0' && argv[1] == NULL)?\ Err codevoid.de 70 i- (char *)0 :\ Err codevoid.de 70 i- (brk_ = 1, (argv[0][1] != '\0')?\ Err codevoid.de 70 i- (&argv[0][1]) :\ Err codevoid.de 70 i- (argc--, argv++, argv[0]))) Err codevoid.de 70 i+/* int main(int argc, char *argv[]) */ Err codevoid.de 70 i+#define ARGBEGIN for (argv0 = *argv, *argv ? (argc--, argv++) : ((void *)0); \ Err codevoid.de 70 i+ *argv && (*argv)[0] == '-' && (*argv)[1]; argc--, argv++) { \ Err codevoid.de 70 i+ int i_, argused_; \ Err codevoid.de 70 i+ if ((*argv)[1] == '-' && !(*argv)[2]) { \ Err codevoid.de 70 i+ argc--, argv++; \ Err codevoid.de 70 i+ break; \ Err codevoid.de 70 i+ } \ Err codevoid.de 70 i+ for (i_ = 1, argused_ = 0; (*argv)[i_]; i_++) { \ Err codevoid.de 70 i+ switch((*argv)[i_]) Err codevoid.de 70 i+#define ARGEND if (argused_) { \ Err codevoid.de 70 i+ if ((*argv)[i_ + 1]) { \ Err codevoid.de 70 i+ break; \ Err codevoid.de 70 i+ } else { \ Err codevoid.de 70 i+ argc--, argv++; \ Err codevoid.de 70 i+ break; \ Err codevoid.de 70 i+ } \ Err codevoid.de 70 i+ } \ Err codevoid.de 70 i+ } \ Err codevoid.de 70 i+ } Err codevoid.de 70 i+#define ARGC() ((*argv)[i_]) Err codevoid.de 70 i+#define ARGF_(x) (((*argv)[i_ + 1]) ? (argused_ = 1, &((*argv)[i_ + 1])) : \ Err codevoid.de 70 i+ (*(argv + 1)) ? (argused_ = 1, *(argv + 1)) : (x)) Err codevoid.de 70 i+#define EARGF(x) ARGF_(((x), exit(1), (char *)0)) Err codevoid.de 70 i+#define ARGF() ARGF_((char *)0) Err codevoid.de 70 i Err codevoid.de 70 i #endif Err codevoid.de 70 .