Browse Source Download (without any required ccan dependencies)

Module:

tal/grab_file

Summary:

file helper routines

Author:

Rusty Russell <rusty@rustcorp.com.au>

Dependencies:

Description:

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;

        if (argc > 2)
                err(1, "Takes 0 or 1 arguments");
        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)