[Go to CFHT Home Page] Man Pages
Back to Software Index  BORDER=0Manpage Top Level
    copylist(3G) manual page Table of Contents

Name

copylist - copy a file into memory

Synopsis

cc [ flag ... ] file ... -lgen [ library ... ]

#include <libgen.h>

char *copylist(const char *filenm, off_t *szptr);

MT-Level

MT-Safe

Description

copylist() copies a list of items from a file into freshly allocated memory, replacing new-lines with null characters. It expects two arguments: a pointer filenm to the name of the file to be copied, and a pointer szptr to a variable where the size of the file will be stored.

Upon success, copylist() returns a pointer to the memory allocated. Otherwise it returns NULL if it has trouble finding the file, calling malloc(), or reading the file.

Examples


/* read "file" into buf */
off_t size;
char *buf;
buf = copylist("file", &size);
if (buf) {
    for (i=0; i<size; i++)
        if (buf[i])
            putchar(buf[i]);
        else
            putchar{’\n’);
    }
} else {
    fprintf(stderr, "%s: Copy failed for "file".\n", argv[0]);
    exit (1);
}

See Also

malloc(3C)

Notes

When compiling multi-thread applications, the _REENTRANT flag must be defined on the compile line. This flag should only be used in multi-thread applications.


Table of Contents