diff options
| author | Denys Vlasenko <vda.linux@googlemail.com> | 2026-02-05 13:36:27 +0100 |
|---|---|---|
| committer | Denys Vlasenko <vda.linux@googlemail.com> | 2026-02-05 13:36:27 +0100 |
| commit | fddd93edbdbf8c5afbfdb3c01d82e082a8a82d1a (patch) | |
| tree | bc67c4cd3acea69333eb7bb4d8d4d904d5d6027a /libbb/xfuncs_printf.c | |
| parent | 3d572a8cc3d71b43877db2776882e91303a0532d (diff) | |
| download | busybox-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.c | 16 |
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 | ||
| 352 | char* 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 | |||
| 352 | void FAST_FUNC xsetenv(const char *key, const char *value) | 368 | void FAST_FUNC xsetenv(const char *key, const char *value) |
| 353 | { | 369 | { |
| 354 | if (setenv(key, value, 1)) | 370 | if (setenv(key, value, 1)) |
