Apply vodz' last_patch52
This commit is contained in:
parent
166fa4684f
commit
c38678d14b
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user