summaryrefslogtreecommitdiff
path: root/libbb
diff options
context:
space:
mode:
Diffstat (limited to 'libbb')
-rw-r--r--libbb/bb_asprintf.c8
-rw-r--r--libbb/concat_path_file.c5
-rw-r--r--libbb/run_shell.c7
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";