]> git.ozlabs.org Git - ccan/blobdiff - ccan/tal/grab_file/_info
tal/grab_file: new module
[ccan] / ccan / tal / grab_file / _info
diff --git a/ccan/tal/grab_file/_info b/ccan/tal/grab_file/_info
new file mode 100644 (file)
index 0000000..3b323d3
--- /dev/null
@@ -0,0 +1,56 @@
+#include <stdio.h>
+#include <string.h>
+#include "config.h"
+
+/**
+ * tal/grab_file - file helper routines
+ *
+ * This contains simple functions for getting the contents of a file.
+ *
+ * Example:
+ *     #include <err.h>
+ *     #include <stdio.h>
+ *     #include <string.h>
+ *     #include <ccan/tal/grab_file/grab_file.h>
+ *     #include <ccan/tal/tal.h> // for tal_free
+ *
+ *     int main(int argc, char *argv[])
+ *     {
+ *             char *file;
+ *
+ *             file = grab_file(NULL, argv[1]);
+ *             if (!file)
+ *                     err(1, "Could not read file %s", argv[1]);
+ *             if (strlen(file)+1 != tal_count(file))
+ *                     printf("File contains NUL characters\n");
+ *             else if (tal_count(file) == 1)
+ *                     printf("File contains nothing\n");
+ *             else if (strchr(file, '\n'))
+ *                     printf("File contains multiple lines\n");
+ *             else
+ *                     printf("File contains one line\n");
+ *             tal_free(file);
+ *
+ *             return 0;
+ *     }
+ *
+ * License: LGPL (v2.1 or any later version)
+ * 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/tal\n");
+               printf("ccan/noerr\n");
+               return 0;
+       }
+       if (strcmp(argv[1], "testdepends") == 0) {
+               printf("ccan/tal/str\n");
+               return 0;
+       }
+
+       return 1;
+}