]> git.ozlabs.org Git - ccan/blobdiff - ccan/tal/str/_info
tal/str: new module.
[ccan] / ccan / tal / str / _info
diff --git a/ccan/tal/str/_info b/ccan/tal/str/_info
new file mode 100644 (file)
index 0000000..63081a1
--- /dev/null
@@ -0,0 +1,52 @@
+#include <stdio.h>
+#include <string.h>
+#include "config.h"
+
+/**
+ * tal/str - string helper routines which use tal
+ *
+ * This is a grab bag of functions for string operations, designed to enhance
+ * the standard string.h; these are separated from the non-tal-needing
+ * string utilities in "str.h".
+ *
+ * Example:
+ *     #include <ccan/tal/str/str.h>
+ *     #include <ccan/grab_file/grab_file.h>
+ *     #include <err.h>
+ *
+ *     // Dumb demo program to double-linespace a file.
+ *     int main(int argc, char *argv[])
+ *     {
+ *             char *textfile;
+ *             char **lines;
+ *
+ *             // Grab lines in file.
+ *             textfile = grab_file(NULL, argv[1], NULL);
+ *             if (!textfile)
+ *                     err(1, "Failed reading %s", argv[1]);
+ *             lines = strsplit(textfile, textfile, "\n", STR_EMPTY_OK);
+ *
+ *             // Join them back together with two linefeeds.
+ *             printf("%s", strjoin(textfile, lines, "\n\n", STR_TRAIL));
+ *
+ *             // Free everything, just because we can.
+ *             tal_free(textfile);
+ *             return 0;
+ *     }
+ *
+ * License: BSD-MIT
+ * Author: Rusty Russell <rusty@rustcorp.com.au>
+ */
+int main(int argc, char *argv[])
+{
+       if (argc != 2)
+               return 1;
+
+       if (strcmp(argv[1], "depends") == 0) {
+               printf("ccan/str\n");
+               printf("ccan/tal\n");
+               return 0;
+       }
+
+       return 1;
+}