#include <sys/types.h>
#include <stdio.h>
+#include <string.h>
#if STDC_HEADERS
# include <stdlib.h>
return p;
}
+/* Allocate N bytes of memory dynamically, and set it all to zero. */
+
+void *
+xmalloc_and_zero (n)
+ size_t n;
+{
+ void *p;
+
+ p = malloc (n);
+ if (p == 0)
+ xalloc_fail ((int)n);
+ memset (p, '\0', n);
+ return p;
+}
+
/* Change the size of an allocated block of memory P to N bytes,
with error checking.
If P is NULL, run xmalloc. */
return p;
}
+/* Duplicate a string */
+
+char *xstrdup(const char *s)
+{
+ char *p;
+
+ p = strdup(s);
+ if(!p)
+ xalloc_fail ((int)strlen(s));
+ return p;
+}
+
#ifdef NOT_USED
/* Allocate memory for N elements of S bytes, with error checking. */