if (p == (XMALLOCTYPE *) 0)
{
report(stderr, GT_("malloc failed\n"));
- exit(PS_UNDEFINED);
+ abort();
}
return(p);
}
if (p == (XMALLOCTYPE *) 0)
{
report(stderr, GT_("realloc failed\n"));
- exit(PS_UNDEFINED);
+ abort();
}
return p;
}
}
#endif /* !HAVE_STRDUP */
+char *xstrndup(const char *s, size_t len)
+{
+ char *p;
+ size_t l = strlen(s);
+
+ if (len < l) l = len;
+ p = (char *)xmalloc(l + 1);
+ memcpy(p, s, l);
+ p[l] = '\0';
+ return p;
+}
+
/* xmalloc.c ends here */