aboutsummaryrefslogtreecommitdiff
path: root/libbb/xfuncs_printf.c
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2026-02-05 13:36:27 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2026-02-05 13:36:27 +0100
commitfddd93edbdbf8c5afbfdb3c01d82e082a8a82d1a (patch)
treebc67c4cd3acea69333eb7bb4d8d4d904d5d6027a /libbb/xfuncs_printf.c
parent3d572a8cc3d71b43877db2776882e91303a0532d (diff)
downloadbusybox-w32-fddd93edbdbf8c5afbfdb3c01d82e082a8a82d1a.tar.gz
busybox-w32-fddd93edbdbf8c5afbfdb3c01d82e082a8a82d1a.tar.bz2
busybox-w32-fddd93edbdbf8c5afbfdb3c01d82e082a8a82d1a.zip
libbb: introduce and use xasprintf_inplace()
function old new delta xasprintf_and_free - 49 +49 watch_main 269 282 +13 singlemount 1313 1315 +2 append_mount_options 157 149 -8 ip_port_str 122 112 -10 lsblk_main 869 858 -11 add_cmd 1178 1167 -11 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 2/4 up/down: 64/-40) Total: 24 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'libbb/xfuncs_printf.c')
-rw-r--r--libbb/xfuncs_printf.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/libbb/xfuncs_printf.c b/libbb/xfuncs_printf.c
index 5d26e2bfa..ed10084b3 100644
--- a/libbb/xfuncs_printf.c
+++ b/libbb/xfuncs_printf.c
@@ -349,6 +349,22 @@ char* FAST_FUNC xasprintf(const char *format, ...)
349 return string_ptr; 349 return string_ptr;
350} 350}
351 351
352char* FAST_FUNC xasprintf_and_free(char *allocated, const char *format, ...)
353{
354 va_list p;
355 int r;
356 char *string_ptr;
357
358 va_start(p, format);
359 r = vasprintf(&string_ptr, format, p);
360 va_end(p);
361
362 if (r < 0)
363 bb_die_memory_exhausted();
364 free(allocated);
365 return string_ptr;
366}
367
352void FAST_FUNC xsetenv(const char *key, const char *value) 368void FAST_FUNC xsetenv(const char *key, const char *value)
353{ 369{
354 if (setenv(key, value, 1)) 370 if (setenv(key, value, 1))