Apply vodz' last_patch52
No binary (build failed)
—
(log yok)
| @@ -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); | |
| @@ -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"); | |
| @@ -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 */ | |
| @@ -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]); | |
| @@ -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) | |
| @@ -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); | |
| @@ -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" \ | |
| @@ -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; | |
| @@ -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 $ */ |
| @@ -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; |
| } | |