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(5).
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('
');
}
} else {
fprintf(stderr, "%s: Copy failed for "file".
", argv[0]);
exit(1);
}
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|MT-Level |MT-Safe |
+-----------------------------+-----------------------------+
SEE ALSO
malloc(3C), attributes(5), lf64(5)
NOTES
When compiling multithreaded applications, the _REENTRANT flag must be defined on the compile line. This flag should only be used in mul-
tithreaded applications.
SunOS 5.11 29 Dec 1996 copylist(3GEN)