4 * Trivial veneers for allocating memory
6 * © 1998 Straylight/Edgeware
9 /*----- Licensing note ----------------------------------------------------*
11 * This file is part of Straylight's core utilities (coreutils).
13 * Coreutils is free software; you can redistribute it and/or modify
14 * it under the terms of the GNU General Public License as published by
15 * the Free Software Foundation; either version 2, or (at your option)
18 * Coreutils is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU General Public License for more details.
23 * You should have received a copy of the GNU General Public License
24 * along with coreutils. If not, write to the Free Software Foundation,
25 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
28 /*----- Header files ------------------------------------------------------*/
36 /*----- Main code ---------------------------------------------------------*/
38 /* --- @xmalloc@ --- *
40 * Arguments: @size_t sz@ = size of block to allocate
42 * Returns: Pointer to newly allocated block.
44 * Use: Returns a block of the requested size, or not at all.
47 void *xmalloc(size_t sz)
51 fprintf(stderr, "inst: not enough memory\n");
57 /* --- @xrealloc@ --- *
59 * Arguments: @void *p@ = pointer to a block of memory
60 * @size_t sz@ = size we want it to be
62 * Returns: Pointer to resized block
64 * Use: Resizes a block. Returns the resized block, or not at all.
67 void *xrealloc(void *p, size_t sz)
71 fprintf(stderr, "inst: not enough memory\n");
77 /* --- @xstrdup@ --- *
79 * Arguments: @const char *p@ = pointer to string to copy
81 * Returns: Pointer to a copy of the string.
83 * Use: Returns a copy of a string, or not at all.
86 char *xstrdup(const char *p)
88 size_t sz = strlen(p) + 1;
89 char *q = xmalloc(sz);
94 /*----- That's all, folks -------------------------------------------------*/