aboutsummaryrefslogtreecommitdiffstats
path: root/src/l4arg.h
diff options
context:
space:
mode:
authorLAN-TW <lantw44@gmail.com>2013-11-29 14:06:55 +0800
committerLAN-TW <lantw44@gmail.com>2013-11-29 14:06:55 +0800
commit218d5b0040f5438b383b3541ba208d9b51d4b9dd (patch)
treeb9514e92fe1abf2646b0e674590f20baa9e82211 /src/l4arg.h
parent768d6832af5e333c888532e696a6a93145979687 (diff)
downloadl4basic-218d5b0040f5438b383b3541ba208d9b51d4b9dd.tar.gz
l4basic-218d5b0040f5438b383b3541ba208d9b51d4b9dd.tar.zst
l4basic-218d5b0040f5438b383b3541ba208d9b51d4b9dd.zip
Refactor build system and combine some files
Diffstat (limited to 'src/l4arg.h')
-rw-r--r--src/l4arg.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/l4arg.h b/src/l4arg.h
new file mode 100644
index 0000000..68352c8
--- /dev/null
+++ b/src/l4arg.h
@@ -0,0 +1,28 @@
+#ifndef L4LIB_ARG_PARSER
+#define L4LIB_ARG_PARSER
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+char** l4arg_toargv(const char*, const char*, const char*, const char*);
+void l4arg_toargv_free(char**);
+
+typedef struct l4lib_qarg {
+ char* arg_name;
+ char* arg_value;
+} L4QARG;
+
+L4QARG* l4qarg_parse(const char*);
+void l4qarg_free(L4QARG*);
+#define l4qarg_n(qargitem) ((qargitem).arg_name)
+#define l4qarg_v(qargitem) ((qargitem).arg_value)
+#define l4qarg_hasvalue(qargitem) (((qargitem).arg_value != NULL))
+#define l4qarg_end(qargitem) \
+ ((((qargitem).arg_name) == NULL) && (((qargitem).arg_value) == NULL))
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif