diff options
author | "Vladimir N. Oleynik" | 2005-09-29 16:18:57 +0000 |
---|---|---|
committer | "Vladimir N. Oleynik" | 2005-09-29 16:18:57 +0000 |
commit | 39a841cecf616098c9c8cf63bbfea5ea2922097c (patch) | |
tree | 5b3a1d569d1e952d8c43899050dca4d6c47bf176 /libbb | |
parent | 6a60c821a81b01a136037f8389bd42d86b37e395 (diff) | |
download | busybox-39a841cecf616098c9c8cf63bbfea5ea2922097c.zip busybox-39a841cecf616098c9c8cf63bbfea5ea2922097c.tar.gz |
change interface to bb_xasprintf() - more perfect for me.
ln.c: error_msg(str)->error_msg(%s, str) - remove standart "feature" for hackers
reduce 100 bytes don't care in sum
Diffstat (limited to 'libbb')
-rw-r--r-- | libbb/bb_asprintf.c | 8 | ||||
-rw-r--r-- | libbb/concat_path_file.c | 5 | ||||
-rw-r--r-- | libbb/run_shell.c | 7 |
3 files changed, 8 insertions, 12 deletions
diff --git a/libbb/bb_asprintf.c b/libbb/bb_asprintf.c index a3ba424..8658a54 100644 --- a/libbb/bb_asprintf.c +++ b/libbb/bb_asprintf.c @@ -1,5 +1,5 @@ /* - Copyright (C) 2002 Vladimir Oleynik <dzo@simtreas.ru> + Copyright (C) 2002,2005 Vladimir Oleynik <dzo@simtreas.ru> */ #include <stdlib.h> @@ -7,16 +7,18 @@ #include <stdarg.h> #include "libbb.h" -void bb_xasprintf(char **string_ptr, const char *format, ...) +char *bb_xasprintf(const char *format, ...) { va_list p; int r; + char *string_ptr; va_start(p, format); - r = vasprintf(string_ptr, format, p); + r = vasprintf(&string_ptr, format, p); va_end(p); if (r < 0) { bb_perror_msg_and_die("bb_xasprintf"); } + return string_ptr; } diff --git a/libbb/concat_path_file.c b/libbb/concat_path_file.c index 00233ad..029c232 100644 --- a/libbb/concat_path_file.c +++ b/libbb/concat_path_file.c @@ -30,7 +30,6 @@ extern char *concat_path_file(const char *path, const char *filename) { - char *outbuf; char *lc; if (!path) @@ -38,7 +37,5 @@ extern char *concat_path_file(const char *path, const char *filename) lc = last_char_is(path, '/'); while (*filename == '/') filename++; - bb_xasprintf(&outbuf, "%s%s%s", path, (lc==NULL ? "/" : ""), filename); - - return outbuf; + return bb_xasprintf("%s%s%s", path, (lc==NULL ? "/" : ""), filename); } diff --git a/libbb/run_shell.c b/libbb/run_shell.c index 67ff2a5..6d084ee 100644 --- a/libbb/run_shell.c +++ b/libbb/run_shell.c @@ -84,11 +84,8 @@ void run_shell ( const char *shell, int loginshell, const char *command, const c args [0] = bb_get_last_path_component ( bb_xstrdup ( shell )); - if ( loginshell ) { - char *args0; - bb_xasprintf ( &args0, "-%s", args [0] ); - args [0] = args0; - } + if ( loginshell ) + args [0] = bb_xasprintf ("-%s", args [0]); if ( command ) { args [argno++] = "-c"; |