summaryrefslogtreecommitdiff
path: root/libbb/bb_asprintf.c
diff options
context:
space:
mode:
Diffstat (limited to 'libbb/bb_asprintf.c')
-rw-r--r--libbb/bb_asprintf.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/libbb/bb_asprintf.c b/libbb/bb_asprintf.c
index 9a71be7..7075b46 100644
--- a/libbb/bb_asprintf.c
+++ b/libbb/bb_asprintf.c
@@ -5,17 +5,18 @@
#include <stdlib.h>
#include <stdio.h>
#include <stdarg.h>
-
-
#include "libbb.h"
-
-void bb_asprintf(char **string_ptr, const char *format, ...)
+void bb_xasprintf(char **string_ptr, const char *format, ...)
{
- va_list p;
+ va_list p;
+ int r;
+
+ va_start(p, format);
+ r = vasprintf(string_ptr, format, p);
+ va_end(p);
- va_start(p, format);
- if(vasprintf(string_ptr, format, p)<0)
- error_msg_and_die(memory_exhausted);
- va_end(p);
+ if (r < 0) {
+ bb_perror_msg_and_die("bb_xasprintf");
+ }
}