From c38678d14b87f8e2d4f0d610d0aa61c656f17539 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Mon, 16 Sep 2002 06:22:25 +0000 Subject: [PATCH] Apply vodz' last_patch52 --- applets/applets.c | 2 +- console-tools/chvt.c | 2 +- console-tools/deallocvt.c | 2 +- console-tools/setkeycodes.c | 2 +- include/applets.h | 4 ++-- include/libbb.h | 2 +- include/usage.h | 2 +- libbb/get_console.c | 9 +++------ loginutils/adduser.c | 16 ++++++---------- procps/kill.c | 32 +++++++++++++------------------- 10 files changed, 30 insertions(+), 43 deletions(-) diff --git a/applets/applets.c b/applets/applets.c index 8171a309d..168501811 100644 --- a/applets/applets.c +++ b/applets/applets.c @@ -90,7 +90,7 @@ extern void show_usage(void) } } format_string = "%s\n\nUsage: %s %s\n\n"; - if(*usage_string == 0) + if(*usage_string == '\b') format_string = "%s\n\nNo help available.\n\n"; fprintf(stderr, format_string, full_version, applet_using->name, usage_string); diff --git a/console-tools/chvt.c b/console-tools/chvt.c index c76e9c780..8136f1c15 100644 --- a/console-tools/chvt.c +++ b/console-tools/chvt.c @@ -24,7 +24,7 @@ int chvt_main(int argc, char **argv) if ((argc != 2) || (**(argv + 1) == '-')) show_usage(); - fd = get_console_fd("/dev/console"); + fd = get_console_fd(); num = atoi(argv[1]); if (ioctl(fd, VT_ACTIVATE, num)) perror_msg_and_die("VT_ACTIVATE"); diff --git a/console-tools/deallocvt.c b/console-tools/deallocvt.c index 15cd0c9b9..b7dcc9e22 100644 --- a/console-tools/deallocvt.c +++ b/console-tools/deallocvt.c @@ -21,7 +21,7 @@ int deallocvt_main(int argc, char *argv[]) if (argc > 2) show_usage(); - fd = get_console_fd("/dev/console"); + fd = get_console_fd(); if (argc == 1) { /* deallocate all unused consoles */ diff --git a/console-tools/setkeycodes.c b/console-tools/setkeycodes.c index c3c7e09aa..85612c8b1 100644 --- a/console-tools/setkeycodes.c +++ b/console-tools/setkeycodes.c @@ -46,7 +46,7 @@ setkeycodes_main(int argc, char** argv) show_usage(); } - fd = get_console_fd("/dev/console"); + fd = get_console_fd(); while (argc > 2) { a.keycode = atoi(argv[2]); diff --git a/include/applets.h b/include/applets.h index f6a840024..d5c257052 100644 --- a/include/applets.h +++ b/include/applets.h @@ -23,11 +23,11 @@ #elif defined(MAKE_USAGE) #ifdef CONFIG_FEATURE_VERBOSE_USAGE #define APPLET(a,b,c,d) a##_trivial_usage "\n\n" a##_full_usage "\0" - #define APPLET_NOUSAGE(a,b,c,d) "\0" + #define APPLET_NOUSAGE(a,b,c,d) "\b\0" #define APPLET_ODDNAME(a,b,c,d,e) e##_trivial_usage "\n\n" e##_full_usage "\0" #else #define APPLET(a,b,c,d) a##_trivial_usage "\0" - #define APPLET_NOUSAGE(a,b,c,d) "\0" + #define APPLET_NOUSAGE(a,b,c,d) "\b\0" #define APPLET_ODDNAME(a,b,c,d,e) e##_trivial_usage "\0" #endif #elif defined(MAKE_LINKS) diff --git a/include/libbb.h b/include/libbb.h index 252496e0f..6ab942bd8 100644 --- a/include/libbb.h +++ b/include/libbb.h @@ -123,7 +123,7 @@ extern int parse_mode( const char* s, mode_t* theMode); extern int get_kernel_revision(void); -extern int get_console_fd(char* tty_name); +extern int get_console_fd(void); extern struct mntent *find_mount_point(const char *name, const char *table); extern void write_mtab(char* blockDevice, char* directory, char* filesystemType, long flags, char* string_flags); diff --git a/include/usage.h b/include/usage.h index ee697150b..968823e54 100644 --- a/include/usage.h +++ b/include/usage.h @@ -1369,7 +1369,7 @@ #define passwd_trivial_usage \ "[OPTION] [name]" #define passwd_full_usage \ - "CChange a user password. If no name is specified,\n" \ + "Change a user password. If no name is specified,\n" \ "changes the password for the current user.\n" \ "Options:\n" \ "\t-a\tDefine which algorithm shall be used for the password.\n" \ diff --git a/libbb/get_console.c b/libbb/get_console.c index 04a6bd1a6..794888fa7 100644 --- a/libbb/get_console.c +++ b/libbb/get_console.c @@ -36,7 +36,7 @@ static const int KDGKBTYPE = 0x4B33; /* get keyboard type */ static const int KB_84 = 0x01; static const int KB_101 = 0x02; /* this is what we always answer */ -int is_a_console(int fd) +static int is_a_console(int fd) { char arg; @@ -82,17 +82,14 @@ static int open_a_console(char *fnam) * if tty_name is non-NULL, try this one instead. */ -int get_console_fd(char *tty_name) +int get_console_fd(void) { int fd; - if (tty_name) { - if (-1 == (fd = open_a_console(tty_name))) + if (-1 == (fd = open_a_console("/dev/console"))) return -1; else return fd; - } - fd = open_a_console(CURRENT_TTY); if (fd >= 0) return fd; diff --git a/loginutils/adduser.c b/loginutils/adduser.c index 7455f23a6..3485611cc 100644 --- a/loginutils/adduser.c +++ b/loginutils/adduser.c @@ -110,18 +110,20 @@ static int passwd_study(const char *filename, struct passwd *p) static void addgroup_wrapper(const char *login, gid_t gid) { - char *cmd = xmalloc(strlen(login)+32); + char *cmd; - sprintf(cmd, "addgroup -g %d %s", gid, login); + bb_asprintf(&cmd, "addgroup -g %d %s", gid, login); system(cmd); free(cmd); } +static void passwd_wrapper(const char *login) __attribute__ ((noreturn)); + static void passwd_wrapper(const char *login) { static const char prog[] = "passwd"; execlp(prog, prog, login, NULL); - error_msg_and_die("Failed to execute 'passwd', you must set the password for '%s' manually", login); + error_msg_and_die("Failed to execute '%s', you must set the password for '%s' manually", prog, login); } /* putpwent(3) remix */ @@ -137,7 +139,6 @@ static int adduser(const char *filename, struct passwd *p) /* make sure everything is kosher and setup uid && gid */ passwd = wfopen(filename, "a"); if (passwd == NULL) { - /* return -1; */ return 1; } fseek(passwd, 0, SEEK_END); @@ -153,13 +154,11 @@ static int adduser(const char *filename, struct passwd *p) error_msg("group name %s already in use", p->pw_name); else error_msg("generic error."); - /* return -1; */ return 1; } /* add to passwd */ if (putpwent(p, passwd) == -1) { - /* return -1; */ return 1; } fclose(passwd); @@ -169,7 +168,6 @@ static int adduser(const char *filename, struct passwd *p) if (shadow_enabled) { shadow = wfopen(shadow_file, "a"); if (shadow == NULL) { - /* return -1; */ return 1; } fseek(shadow, 0, SEEK_END); @@ -206,8 +204,6 @@ static int adduser(const char *filename, struct passwd *p) } /* interactively set passwd */ passwd_wrapper(p->pw_name); - - return 0; } @@ -293,4 +289,4 @@ int adduser_main(int argc, char **argv) return adduser(passwd_file, &pw); } -/* $Id: adduser.c,v 1.3 2002/07/16 23:50:05 sandman Exp $ */ +/* $Id: adduser.c,v 1.4 2002/09/16 06:22:24 andersen Exp $ */ diff --git a/procps/kill.c b/procps/kill.c index 5f2f6618f..2ef87aea6 100644 --- a/procps/kill.c +++ b/procps/kill.c @@ -40,6 +40,7 @@ extern int kill_main(int argc, char **argv) { int whichApp, sig = SIGTERM, quiet; const char *name; + int errors = 0; #ifdef CONFIG_KILLALL /* Figure out what we are trying to do here */ @@ -111,37 +112,33 @@ do_it_now: perror_msg_and_die( "Bad PID"); pid = strtol(*argv, NULL, 0); if (kill(pid, sig) != 0) { - perror_msg_and_die( "Could not kill pid '%d'", pid); + perror_msg( "Could not kill pid '%d'", pid); + errors++; } argv++; } + } #ifdef CONFIG_KILLALL else { - int all_found = TRUE; pid_t myPid=getpid(); /* Looks like they want to do a killall. Do that */ while (--argc >= 0) { long* pidList; - pidList = find_pid_by_name( *argv); + pidList = find_pid_by_name(*argv); if (!pidList || *pidList<=0) { - all_found = FALSE; - if (quiet) { - exit(EXIT_FAILURE); + errors++; + if (quiet==0) + error_msg( "%s: no process killed", *argv); } else { - error_msg_and_die( "%s: no process killed", *argv); - } - } - - for(; pidList && *pidList!=0; pidList++) { + for(; *pidList!=0; pidList++) { if (*pidList==myPid) continue; if (kill(*pidList, sig) != 0) { - if (quiet) { - exit(EXIT_FAILURE); - } else { - perror_msg_and_die( "Could not kill pid '%d'", *pidList); + errors++; + if (quiet==0) + perror_msg( "Could not kill pid '%d'", *pidList); } } } @@ -150,10 +147,7 @@ do_it_now: * upon exit, so we can save a byte or two */ argv++; } - if (! all_found) - return EXIT_FAILURE; } #endif - - return EXIT_SUCCESS; + return errors; }