| Current File : //usr/man/man3gen/copylist.3gen |
'\" te
.\" Copyright 1989 AT&T Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved
.TH copylist 3GEN "29 Dec 1996" "SunOS 5.11" "String Pattern-Matching Library Functions"
.SH NAME
copylist \- copy a file into memory
.SH SYNOPSIS
.LP
.nf
cc [ \fIflag\fR ... ] \fIfile\fR ... \fB-lgen\fR [ \fIlibrary\fR ... ]
#include <libgen.h>
\fBchar *\fR\fBcopylist\fR(\fBconst char *\fR\fIfilenm\fR, \fBoff_t *\fR\fIszptr\fR);
.fi
.SH DESCRIPTION
.sp
.LP
The \fBcopylist()\fR 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 \fIfilenm\fR to the name of the file to be copied, and a pointer \fIszptr\fR to a variable where the size of the file will be stored.
.sp
.LP
Upon success, \fBcopylist()\fR returns a pointer to the memory allocated. Otherwise it returns NULL if it has trouble finding the file, calling \fBmalloc()\fR, or reading the file.
.SH USAGE
.sp
.LP
The \fBcopylist()\fR function has a transitional interface for 64-bit file offsets. See \fBlf64\fR(5).
.SH EXAMPLES
.LP
\fBExample 1 \fRExample of \fBcopylist()\fR function.
.sp
.in +2
.nf
/* 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('\en');
}
} else {
fprintf(stderr, "%s: Copy failed for "file".\en", argv[0]);
exit (1);
}
.fi
.in -2
.SH ATTRIBUTES
.sp
.LP
See \fBattributes\fR(5) for descriptions of the following attributes:
.sp
.sp
.TS
tab() box;
cw(2.75i) |cw(2.75i)
lw(2.75i) |lw(2.75i)
.
ATTRIBUTE TYPEATTRIBUTE VALUE
_
MT-LevelMT-Safe
.TE
.SH SEE ALSO
.sp
.LP
\fBmalloc\fR(3C), \fBattributes\fR(5), \fBlf64\fR(5)
.SH NOTES
.sp
.LP
When compiling multithreaded applications, the \fB_REENTRANT\fR flag must be defined on the compile line. This flag should only be used in multithreaded applications.