123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- /* $Header$ */
- /*
- * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
- * See the copyright notice in the ACK home directory, in the file "Copyright".
- */
- /* M E M O R Y A L L O C A T I O N R O U T I N E S */
- /* The memory allocation routines offered in this file are:
- char *Malloc(n) : allocate n bytes
- char *Srealloc(ptr, n) : reallocate buffer to n bytes
- char *Salloc(str, n) : allocate n bytes, initialized with the string
- str
- This file imports routines from "system".
- */
- #include <system.h>
- #include "in_all.h"
- #include "alloc.h"
- EXPORT char *
- Malloc(sz)
- unsigned int sz;
- {
- char *res = malloc(sz);
-
- if (res == 0) No_Mem();
- return res;
- }
- EXPORT char *
- Salloc(str, sz)
- register char str[];
- register unsigned int sz;
- {
- /* Salloc() is not a primitive function: it just allocates a
- piece of storage and copies a given string into it.
- */
- char *res = malloc(sz);
- register char *m = res;
- if (m == 0) No_Mem();
- while (sz--)
- *m++ = *str++;
- return res;
- }
- EXPORT char *
- Srealloc(str, sz)
- char str[];
- unsigned int sz;
- {
- str = realloc(str, sz);
- if (str == 0) No_Mem();
- return str;
- }
|