aboutsummaryrefslogtreecommitdiff
path: root/chad/qx.h
diff options
context:
space:
mode:
authoranon2026-02-18 10:01:21 +0100
committeranon2026-02-18 10:01:21 +0100
commit181baf15bc1f075cdf55b1bbe179c250148a2296 (patch)
treee61fdc3c62eea874195a5c6f7d93c8b6cc6ebb24 /chad/qx.h
parent4419754108de67c2f2e9e895449bdadc770502c6 (diff)
parent0d4fc3389b69b70048cd50e614cb9807469cdcd0 (diff)
downloadlibchad-181baf15bc1f075cdf55b1bbe179c250148a2296.tar.xz
libchad-181baf15bc1f075cdf55b1bbe179c250148a2296.tar.zst
Merge branch 'master' of https://github.com/BasedProject/libchad
Diffstat (limited to 'chad/qx.h')
-rw-r--r--chad/qx.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/chad/qx.h b/chad/qx.h
new file mode 100644
index 0000000..817eaff
--- /dev/null
+++ b/chad/qx.h
@@ -0,0 +1,36 @@
+#ifndef QX_H
+#define QX_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* # qx
+ *
+ * ## NAME
+ * qx - execute system commands receive back the output
+ *
+ * ## SYNOPSIS
+ */
+extern char * qx(const char * const cmd);
+/* ## DESCRIPTION
+ * `qx()` is a small wrapper function to replicate Perl's `qx` in C.
+ * It is intended for developer convenience.
+ * The command argument is a pointer to a null-terminated
+ * string containing a shell command line.
+ * This command is passed to `/bin/sh` using the `-c` flag; interpretation,
+ * if any, is performed by the shell.
+ *
+ * ## RETURN VALUE
+ * Upon successful return, the captured `stdout` and `stderr` of `cmd` is returned
+ * in a dynamic string. Calling `free()` is the programmer's responsibility.
+ *
+ * If an error is encountered `NULL` is returned.
+ * The shell returning a non-zero exit value is not considered an error.
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif