From 39a841cecf616098c9c8cf63bbfea5ea2922097c Mon Sep 17 00:00:00 2001 From: "Vladimir N. Oleynik" Date: Thu, 29 Sep 2005 16:18:57 +0000 Subject: 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 --- libbb/bb_asprintf.c | 8 +++++--- libbb/concat_path_file.c | 5 +---- libbb/run_shell.c | 7 ++----- 3 files changed, 8 insertions(+), 12 deletions(-) (limited to 'libbb') 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 + Copyright (C) 2002,2005 Vladimir Oleynik */ #include @@ -7,16 +7,18 @@ #include #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"; -- cgit v1.1