diff options
author | Dimitri John Ledkov <xnox@debian.org> | 2015-11-08 11:48:28 +0000 |
---|---|---|
committer | Dimitri John Ledkov <xnox@debian.org> | 2015-11-08 11:48:28 +0000 |
commit | 948fb73b04fa9b0f9a9e81e08040b79b65826a16 (patch) | |
tree | 596ca722473e5e56bdd137762ae60723b176c440 /xmalloc.c | |
parent | 489bea7ee8e1dbecfa517b8415568044ab57c73a (diff) |
New upstream release.
Diffstat (limited to 'xmalloc.c')
-rw-r--r-- | xmalloc.c | 28 |
1 files changed, 20 insertions, 8 deletions
@@ -35,38 +35,50 @@ void *xmalloc(size_t len) { void *rv = malloc(len); char *msg; + int n; if (rv) return rv; - msg = Name ": memory allocation failure - aborting\n"; - exit(4+!!write(2, msg, strlen(msg))); + msg = ": memory allocation failure - aborting\n"; + n = write(2, Name, strlen(Name)); + n += write(2, msg, strlen(msg)); + exit(4+!!n); } void *xrealloc(void *ptr, size_t len) { void *rv = realloc(ptr, len); char *msg; + int n; if (rv) return rv; - msg = Name ": memory allocation failure - aborting\n"; - exit(4+!!write(2, msg, strlen(msg))); + msg = ": memory allocation failure - aborting\n"; + n = write(2, Name, strlen(Name)); + n += write(2, msg, strlen(msg)); + exit(4+!!n); } void *xcalloc(size_t num, size_t size) { void *rv = calloc(num, size); char *msg; + int n; if (rv) return rv; - msg = Name ": memory allocation failure - aborting\n"; - exit(4+!!write(2, msg, strlen(msg))); + msg = ": memory allocation failure - aborting\n"; + n = write(2, Name, strlen(Name)); + n += write(2, msg, strlen(msg)); + exit(4+!!n); } char *xstrdup(const char *str) { char *rv = strdup(str); char *msg; + int n; if (rv) return rv; - msg = Name ": memory allocation failure - aborting\n"; - exit(4+!!write(2, msg, strlen(msg))); + msg = ": memory allocation failure - aborting\n"; + n = write(2, Name, strlen(Name)); + n += write(2, msg, strlen(msg)); + exit(4+!!n); } |