From c30f445b08e811ec7e339e7efad8f7cd47c3ad59 Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Mon, 20 Mar 2006 02:20:18 +0000 Subject: Patch from tito, acked by Bernhard Fischer. --- util-linux/setarch.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'util-linux/setarch.c') diff --git a/util-linux/setarch.c b/util-linux/setarch.c index 33588e4ee..d7e1c0917 100644 --- a/util-linux/setarch.c +++ b/util-linux/setarch.c @@ -16,7 +16,7 @@ #include "busybox.h" -int setarch_main(int argc, char **argv) +int setarch_main(int ATTRIBUTE_UNUSED argc, char **argv) { int pers = -1; @@ -26,9 +26,9 @@ int setarch_main(int argc, char **argv) * argv[0] -> "personality" */ retry: - if (!strcmp(argv[0], "linux64")) + if (argv[0][5] == '6') /* linux64 */ pers = PER_LINUX; - else if (!strcmp(argv[0], "linux32")) + else if (argv[0][5] == '3') /* linux32 */ pers = PER_LINUX32; else if (pers == -1 && argv[1] != NULL) { pers = PER_LINUX32; @@ -42,12 +42,11 @@ retry: bb_show_usage(); /* Try to set personality */ - if (personality(pers) < 0) - goto failure; + if (personality(pers) >= 0) { - /* Try to execute the program */ - execvp(argv[0], argv); + /* Try to execute the program */ + execvp(argv[0], argv); + } -failure: bb_perror_msg_and_die("%s", argv[0]); } -- cgit v1.2.3