COPYLIST(3GEN) String Pattern-Matching Library Functions COPYLIST(3GEN)
NAME
copylist - copy a file into memory
SYNOPSIS
cc [
flag ... ]
file ...
-lgen [
library ... ]
#include <libgen.h>
char *copylist(
const char *filenm,
off_t *szptr);
DESCRIPTION
The
copylist() function 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.
USAGE
The
copylist() function has a transitional interface for 64-bit file
offsets. See
lf64(7).
EXAMPLES
Example 1: Example of copylist() function.
/* 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);
}
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+---------------+-----------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+-----------------+
|MT-Level | MT-Safe |
+---------------+-----------------+
SEE ALSO
malloc(3C),
attributes(7),
lf64(7)NOTES
When compiling multithreaded applications, the
_REENTRANT flag must
be defined on the compile line. This flag should only be used in
multithreaded applications.
December 29, 1996 COPYLIST(3GEN)