summaryrefslogtreecommitdiffstats
path: root/arg.h
diff options
context:
space:
mode:
authorGravatar Christoph Lohmann 2012-10-31 21:13:50 +0100
committerGravatar Christoph Lohmann 2012-10-31 21:13:50 +0100
commit4ce3808684c5ea5d14eab0c3e24119784d2ae255 (patch)
tree798f6f8bbeb49552bba1618883c6168803c7a1d1 /arg.h
parentAdd different progress colors when using proxy. (diff)
Add options for scriptfile, cookiefile and stylefile. And changing the default
behaviour of buildpath to be more like in open().
Diffstat (limited to 'arg.h')
-rw-r--r--arg.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/arg.h b/arg.h
new file mode 100644
index 0000000..6414822
--- /dev/null
+++ b/arg.h
@@ -0,0 +1,41 @@
+/*
+ * Copy me if you can.
+ * by 20h
+ */
+
+#ifndef __ARG_H__
+#define __ARG_H__
+
+extern char *argv0;
+
+#define USED(x) ((void)(x))
+
+#define ARGBEGIN for (argv0 = *argv, argv++, argc--;\
+ argv[0] && argv[0][1]\
+ && argv[0][0] == '-';\
+ argc--, argv++) {\
+ char _argc;\
+ char **_argv;\
+ if (argv[0][1] == '-' && argv[0][2] == '\0') {\
+ argv++;\
+ argc--;\
+ break;\
+ }\
+ for (argv[0]++, _argv = argv; argv[0][0];\
+ argv[0]++) {\
+ if (_argv != argv)\
+ break;\
+ _argc = argv[0][0];\
+ switch (_argc)
+
+#define ARGEND }\
+ USED(_argc);\
+ }\
+ USED(argv);\
+ USED(argc);
+
+#define EARGF(x) ((argv[1] == NULL)? ((x), abort(), (char *)0) :\
+ (argc--, argv++, argv[0]))
+
+#endif
+