uid_t uid = getuid(), euid = geteuid();
if (!(which->flags & TOYFLAG_STAYROOT)) {
- if (uid != euid) xsetuid(euid=uid);
+ if (uid != euid) xsetuid(euid=uid); // drop root
} else if (CFG_TOYBOX_DEBUG && uid && which != toy_list)
error_msg("Not installed suid root");
return;
}
if (toys.optflags & FLAG_r) {
- if (!mount("", *toys.optargs, "", MS_REMOUNT|MS_RDONLY, "")) {
+ if (!mount("", dir, "", MS_REMOUNT|MS_RDONLY, "")) {
if (toys.optflags & FLAG_v) printf("%s remounted ro", dir);
return;
}
void umount_main(void)
{
int flags=0;
+ char **optargs;
if (!toys.optc && !(toys.optflags & FLAG_a))
error_exit("Need 1 arg or -a");
if (toys.optflags & FLAG_f) flags |= MNT_FORCE;
if (toys.optflags & FLAG_l) flags |= MNT_DETACH;
- for (; *toys.optargs; toys.optargs++) do_umount(*toys.optargs, flags);
+ for (optargs = toys.optargs; *optargs; optargs++) do_umount(*optargs, flags);
if (toys.optflags & FLAG_a) {
struct mtab_list *mlsave, *ml;
void hello_main(void)
{
+ char **optargs;
+
printf("Hello world\n");
if (toys.optflags) printf("flags=%x\n", toys.optflags);
TT.d_list = TT.d_list->next;
}
if (TT.e_count) printf("e was seen %ld times\n", TT.e_count);
- while (*toys.optargs) printf("optarg=%s\n", *(toys.optargs++));
+ for (optargs = toys.optargs; *optargs; optargs++)
+ printf("optarg=%s\n", *optargs);
if (toys.optflags & FLAG_walrus) printf("Saw --walrus\n");
if (TT.blubber_string) printf("--blubber=%s\n", TT.blubber_string);
}
void pmap_main(void)
{
- while (*toys.optargs) {
- pid_t pid = atolx(*toys.optargs++);
+ char **optargs;
+
+ for (optargs = toys.optargs; *optargs; optargs++) {
+ pid_t pid = atolx(*optargs);
FILE *fp;
char *line, *oldline = 0, *name = 0,
*k = (toys.optflags & FLAG_x) ? "" : "K";
void pwdx_main(void)
{
- for (; *toys.optargs; toys.optargs++) {
+ char **optargs;
+
+ for (optargs = toys.optargs; *optargs; optargs++) {
char *path;
int num_bytes;
- path = xmsprintf("/proc/%s/cwd", *toys.optargs);
+ path = xmsprintf("/proc/%s/cwd", *optargs);
num_bytes = readlink(path, toybuf, sizeof(toybuf)-1);
free(path);
path = toybuf;
toybuf[num_bytes] = 0;
}
- xprintf("%s: %s\n", *toys.optargs, path);
+ xprintf("%s: %s\n", *optargs, path);
}
}