summaryrefslogtreecommitdiff
path: root/xmalloc.c
diff options
context:
space:
mode:
authorDimitri John Ledkov <xnox@debian.org>2015-11-08 11:48:28 +0000
committerDimitri John Ledkov <xnox@debian.org>2015-11-08 11:48:28 +0000
commit948fb73b04fa9b0f9a9e81e08040b79b65826a16 (patch)
tree596ca722473e5e56bdd137762ae60723b176c440 /xmalloc.c
parent489bea7ee8e1dbecfa517b8415568044ab57c73a (diff)
New upstream release.
Diffstat (limited to 'xmalloc.c')
-rw-r--r--xmalloc.c28
1 files changed, 20 insertions, 8 deletions
diff --git a/xmalloc.c b/xmalloc.c
index 8d42a7c4..8b3f78a6 100644
--- a/xmalloc.c
+++ b/xmalloc.c
@@ -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);
}