Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ copylist(3G) — SunOS 5.6

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

malloc(3C)

attributes(5)

interface64(5)

copylist(3G)

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 an explicit 64-bit equivalent.  See interface64(5). 

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);
}

ATTRIBUTES

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
MT-Level MT-Safe

SEE ALSO

malloc(3C), attributes(5), interface64(5)

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. 

SunOS 5.6  —  Last change: 29 Dec 1996

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026