summaryrefslogtreecommitdiff
path: root/applets/busybox.c
diff options
context:
space:
mode:
authorEric Andersen2001-04-09 22:48:12 +0000
committerEric Andersen2001-04-09 22:48:12 +0000
commite5dfced23a904d08afa5dcee190c3c3d845d9f50 (patch)
treeef367ee8a9096884fb40debdc9e10af8583f9d5f /applets/busybox.c
parenta75e2867435faa68ea03735fe09ad298fa3e4e72 (diff)
downloadbusybox-e5dfced23a904d08afa5dcee190c3c3d845d9f50.zip
busybox-e5dfced23a904d08afa5dcee190c3c3d845d9f50.tar.gz
Apply Vladimir's latest cleanup patch.
-Erik
Diffstat (limited to 'applets/busybox.c')
-rw-r--r--applets/busybox.c23
1 files changed, 16 insertions, 7 deletions
diff --git a/applets/busybox.c b/applets/busybox.c
index 5085556..9db26df 100644
--- a/applets/busybox.c
+++ b/applets/busybox.c
@@ -10,6 +10,10 @@
#define BB_DECLARE_EXTERN
#include "messages.c"
+#ifdef BB_LOCALE_SUPPORT
+#include <locale.h>
+#endif
+
int been_there_done_that = 0; /* Also used in applets.c */
const char *applet_name;
@@ -60,7 +64,7 @@ static void install_links(const char *busybox, int use_symbolic_links)
{
__link_f Link = link;
- char command[256];
+ char *fpc;
int i;
int rc;
@@ -68,13 +72,13 @@ static void install_links(const char *busybox, int use_symbolic_links)
Link = symlink;
for (i = 0; applets[i].name != NULL; i++) {
- sprintf ( command, "%s/%s",
- install_dir[applets[i].location], applets[i].name);
- rc = Link(busybox, command);
-
- if (rc) {
- perror_msg("%s", command);
+ fpc = concat_path_file(
+ install_dir[applets[i].location], applets[i].name);
+ rc = Link(busybox, fpc);
+ if (rc!=0 && errno!=EEXIST) {
+ perror_msg("%s", fpc);
}
+ free(fpc);
}
}
@@ -97,6 +101,11 @@ int main(int argc, char **argv)
}
#endif
+#ifdef BB_LOCALE_SUPPORT
+ if(getpid()!=1) /* Do not set locale for `init' */
+ setlocale(LC_ALL, "");
+#endif
+
run_applet_by_name(applet_name, argc, argv);
error_msg_and_die("applet not found");
}