diff options
Diffstat (limited to 'libbb/bb_asprintf.c')
-rw-r--r-- | libbb/bb_asprintf.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/libbb/bb_asprintf.c b/libbb/bb_asprintf.c index 9a71be7f5..7075b46de 100644 --- a/libbb/bb_asprintf.c +++ b/libbb/bb_asprintf.c | |||
@@ -5,17 +5,18 @@ | |||
5 | #include <stdlib.h> | 5 | #include <stdlib.h> |
6 | #include <stdio.h> | 6 | #include <stdio.h> |
7 | #include <stdarg.h> | 7 | #include <stdarg.h> |
8 | |||
9 | |||
10 | #include "libbb.h" | 8 | #include "libbb.h" |
11 | 9 | ||
12 | 10 | void bb_xasprintf(char **string_ptr, const char *format, ...) | |
13 | void bb_asprintf(char **string_ptr, const char *format, ...) | ||
14 | { | 11 | { |
15 | va_list p; | 12 | va_list p; |
13 | int r; | ||
14 | |||
15 | va_start(p, format); | ||
16 | r = vasprintf(string_ptr, format, p); | ||
17 | va_end(p); | ||
16 | 18 | ||
17 | va_start(p, format); | 19 | if (r < 0) { |
18 | if(vasprintf(string_ptr, format, p)<0) | 20 | bb_perror_msg_and_die("bb_xasprintf"); |
19 | error_msg_and_die(memory_exhausted); | 21 | } |
20 | va_end(p); | ||
21 | } | 22 | } |