]> git.ozlabs.org Git - ccan/blobdiff - ccan/read_write_all/_info.c
Fix new glibc warnings about warn_unused_result.
[ccan] / ccan / read_write_all / _info.c
diff --git a/ccan/read_write_all/_info.c b/ccan/read_write_all/_info.c
new file mode 100644 (file)
index 0000000..32fccc8
--- /dev/null
@@ -0,0 +1,43 @@
+#include <stdio.h>
+#include <string.h>
+#include "config.h"
+
+/**
+ * read_write_all - read_all and write_all routines.
+ *
+ * Successful read and write calls may only partly complete if a
+ * signal is received or they are not operating on a normal file.
+ *
+ * read_all() and write_all() do the looping for you.
+ *
+ * Example:
+ *     #include <err.h>
+ *     #include <stdio.h>
+ *     #include <unistd.h>
+ *     #include <ccan/read_write_all/read_write_all.h>
+ *
+ *     #define BUFFER_SIZE 10
+ *     int main(int argc, char *argv[])
+ *     {
+ *             char buffer[BUFFER_SIZE+1];
+ *
+ *             if (!read_all(STDIN_FILENO, buffer, BUFFER_SIZE))
+ *                     err(1, "Could not read %u characters", BUFFER_SIZE);
+ *             buffer[BUFFER_SIZE] = '\0';
+ *             printf("I read '%.*s'\n", BUFFER_SIZE, buffer);
+ *             return 0;
+ *     }
+ *
+ * Licence: LGPL (2 or any later version)
+ */
+int main(int argc, char *argv[])
+{
+       if (argc != 2)
+               return 1;
+
+       if (strcmp(argv[1], "depends") == 0) {
+               return 0;
+       }
+
+       return 1;
+}