diff options
author | Eric Andersen <andersen@codepoet.org> | 1999-12-07 08:37:31 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 1999-12-07 08:37:31 +0000 |
commit | d00c2628474b9e6a3fe34c988fe197cf2425ff1a (patch) | |
tree | 960ee0d6353cfae1ff21820f8a2d95f6c2ed08c9 | |
parent | 0ecb54a0f3fece5e42f089036f059973bed8d87e (diff) | |
download | busybox-w32-d00c2628474b9e6a3fe34c988fe197cf2425ff1a.tar.gz busybox-w32-d00c2628474b9e6a3fe34c988fe197cf2425ff1a.tar.bz2 busybox-w32-d00c2628474b9e6a3fe34c988fe197cf2425ff1a.zip |
Stuf
-rw-r--r-- | Changelog | 11 | ||||
-rw-r--r-- | Makefile | 4 | ||||
-rwxr-xr-x | applets/install.sh | 3 | ||||
-rw-r--r-- | busybox.def.h | 2 | ||||
-rw-r--r-- | init.c | 74 | ||||
-rw-r--r-- | init/init.c | 74 | ||||
-rwxr-xr-x | install.sh | 3 | ||||
-rw-r--r-- | umount.c | 6 | ||||
-rw-r--r-- | util-linux/umount.c | 6 |
9 files changed, 126 insertions, 57 deletions
@@ -1,7 +1,7 @@ | |||
1 | 0.38 | 1 | 0.38 |
2 | * Fixed a segfault in 'umount -a' when a badly formed /etc/fstab | 2 | * Fixed a segfault in 'umount -a' when a badly formed /etc/fstab |
3 | file existed. | 3 | file existed. |
4 | * df will not exit on error, but will try to stat all mounted filesystems. | 4 | * df will not exit on error, but will stat all mounted filesystems. |
5 | * Fixed tar so uid/gid/permissions on extracted tarballs will be correct. | 5 | * Fixed tar so uid/gid/permissions on extracted tarballs will be correct. |
6 | * Fixed find -name so it properly uses shell wildcard patterns | 6 | * Fixed find -name so it properly uses shell wildcard patterns |
7 | (i.e. `*', `?', and `[]') instead of regular expressions, which | 7 | (i.e. `*', `?', and `[]') instead of regular expressions, which |
@@ -10,11 +10,12 @@ | |||
10 | kernel messages. | 10 | kernel messages. |
11 | * syslogd now creates the /dev/log socket to make sure it is there, and | 11 | * syslogd now creates the /dev/log socket to make sure it is there, and |
12 | is actually a socket with the right permissions. | 12 | is actually a socket with the right permissions. |
13 | * I've taken a first step to making busybox not need the /proc filesystem. | 13 | * I've taken a first step to making busybox not need the /proc |
14 | Most apps don't need it. Those that _require_ it, will complain | 14 | filesystem. Most apps don't need it. Those that _require_ it, |
15 | if you enable them when you disable BB_FEATURE_USE_PROCFS. | 15 | will complain if you enable them when you disable |
16 | BB_FEATURE_USE_PROCFS. | ||
16 | 17 | ||
17 | -Erik Andrsen | 18 | -Erik Andrsen, Dec 5, 1999 |
18 | 19 | ||
19 | 0.37 | 20 | 0.37 |
20 | * Wrote a micro syslogd, and a logger util (to log things to the syslog | 21 | * Wrote a micro syslogd, and a logger util (to log things to the syslog |
@@ -73,7 +73,7 @@ else | |||
73 | endif | 73 | endif |
74 | 74 | ||
75 | ifndef $(PREFIX) | 75 | ifndef $(PREFIX) |
76 | PREFIX=`pwd`/busybox_install | 76 | PREFIX=`pwd`/_install |
77 | endif | 77 | endif |
78 | 78 | ||
79 | LIBRARIES= | 79 | LIBRARIES= |
@@ -95,7 +95,7 @@ busybox.links: | |||
95 | 95 | ||
96 | clean: | 96 | clean: |
97 | - rm -f $(PROG) busybox.links *~ *.o core | 97 | - rm -f $(PROG) busybox.links *~ *.o core |
98 | - rm -rf busybox_install | 98 | - rm -rf _install |
99 | 99 | ||
100 | distclean: clean | 100 | distclean: clean |
101 | - rm -f $(PROG) | 101 | - rm -f $(PROG) |
diff --git a/applets/install.sh b/applets/install.sh index 670c0c6e1..769d1f4a3 100755 --- a/applets/install.sh +++ b/applets/install.sh | |||
@@ -12,8 +12,7 @@ h=`sort busybox.links | uniq` | |||
12 | for i in $h ; do | 12 | for i in $h ; do |
13 | echo " $1$i -> /bin/busybox" | 13 | echo " $1$i -> /bin/busybox" |
14 | mkdir -p $1/`echo $i | sed -e 's/\/[^\/]*$//' ` | 14 | mkdir -p $1/`echo $i | sed -e 's/\/[^\/]*$//' ` |
15 | rm -f $1$i | 15 | ln -fs /bin/busybox $1$i |
16 | ln -s /bin/busybox $1$i | ||
17 | done | 16 | done |
18 | rm -f $1/bin/busybox | 17 | rm -f $1/bin/busybox |
19 | install -m 755 busybox $1/bin/busybox | 18 | install -m 755 busybox $1/bin/busybox |
diff --git a/busybox.def.h b/busybox.def.h index a1f55ffe6..3284a63d3 100644 --- a/busybox.def.h +++ b/busybox.def.h | |||
@@ -74,6 +74,8 @@ | |||
74 | // pretty/useful). | 74 | // pretty/useful). |
75 | // | 75 | // |
76 | // | 76 | // |
77 | // enable a second console on VT2 in init | ||
78 | #define BB_FEATURE_INIT_SECOND_CONSOLE | ||
77 | // enable features that use the /proc filesystem | 79 | // enable features that use the /proc filesystem |
78 | #define BB_FEATURE_USE_PROCFS | 80 | #define BB_FEATURE_USE_PROCFS |
79 | //Enable init being called as /linuxrc | 81 | //Enable init being called as /linuxrc |
@@ -55,6 +55,7 @@ | |||
55 | #define VT_LOG "/dev/tty3" /* Virtual console */ | 55 | #define VT_LOG "/dev/tty3" /* Virtual console */ |
56 | #define SERIAL_CON0 "/dev/ttyS0" /* Primary serial console */ | 56 | #define SERIAL_CON0 "/dev/ttyS0" /* Primary serial console */ |
57 | #define SERIAL_CON1 "/dev/ttyS1" /* Serial console */ | 57 | #define SERIAL_CON1 "/dev/ttyS1" /* Serial console */ |
58 | #define GETTY "/sbin/getty" /* Default location of getty */ | ||
58 | #define SHELL "/bin/sh" /* Default shell */ | 59 | #define SHELL "/bin/sh" /* Default shell */ |
59 | #define INITSCRIPT "/etc/init.d/rcS" /* Initscript. */ | 60 | #define INITSCRIPT "/etc/init.d/rcS" /* Initscript. */ |
60 | 61 | ||
@@ -446,15 +447,19 @@ static void reboot_signal(int sig) | |||
446 | 447 | ||
447 | extern int init_main(int argc, char **argv) | 448 | extern int init_main(int argc, char **argv) |
448 | { | 449 | { |
449 | int run_rc = TRUE; | 450 | int run_rc = FALSE; |
450 | int wait_for_enter = TRUE; | 451 | int single = FALSE; |
452 | int wait_for_enter_tty1 = TRUE; | ||
453 | int wait_for_enter_tty2 = TRUE; | ||
451 | pid_t pid1 = 0; | 454 | pid_t pid1 = 0; |
452 | pid_t pid2 = 0; | 455 | pid_t pid2 = 0; |
453 | struct stat statbuf; | 456 | struct stat statbuf; |
454 | const char* const rc_script_command[] = { INITSCRIPT, INITSCRIPT, 0}; | 457 | const char* const rc_script_command[] = { INITSCRIPT, INITSCRIPT, 0}; |
458 | const char* const getty1_command[] = { GETTY, GETTY, VT_PRIMARY, 0}; | ||
459 | const char* const getty2_command[] = { GETTY, GETTY, VT_SECONDARY, 0}; | ||
455 | const char* const shell_command[] = { SHELL, "-" SHELL, 0}; | 460 | const char* const shell_command[] = { SHELL, "-" SHELL, 0}; |
456 | const char* const* tty0_command = shell_command; | ||
457 | const char* const* tty1_command = shell_command; | 461 | const char* const* tty1_command = shell_command; |
462 | const char* const* tty2_command = shell_command; | ||
458 | #ifdef BB_INIT_CMD_IF_RC_SCRIPT_EXITS | 463 | #ifdef BB_INIT_CMD_IF_RC_SCRIPT_EXITS |
459 | const char* const rc_exit_command[] = { "BB_INIT_CMD_IF_RC_SCRIPT_EXITS", | 464 | const char* const rc_exit_command[] = { "BB_INIT_CMD_IF_RC_SCRIPT_EXITS", |
460 | "BB_INIT_CMD_IF_RC_SCRIPT_EXITS", 0 }; | 465 | "BB_INIT_CMD_IF_RC_SCRIPT_EXITS", 0 }; |
@@ -477,13 +482,6 @@ extern int init_main(int argc, char **argv) | |||
477 | } | 482 | } |
478 | #endif | 483 | #endif |
479 | 484 | ||
480 | /* Check if we are supposed to be in single user mode */ | ||
481 | if ( argc > 1 && (!strcmp(argv[1], "single") || | ||
482 | !strcmp(argv[1], "-s") || !strcmp(argv[1], "1"))) { | ||
483 | run_rc = FALSE; | ||
484 | } | ||
485 | |||
486 | |||
487 | /* Set up sig handlers -- be sure to | 485 | /* Set up sig handlers -- be sure to |
488 | * clear all of these in run() */ | 486 | * clear all of these in run() */ |
489 | signal(SIGUSR1, halt_signal); | 487 | signal(SIGUSR1, halt_signal); |
@@ -529,27 +527,55 @@ extern int init_main(int argc, char **argv) | |||
529 | /* Make sure there is enough memory to do something useful. */ | 527 | /* Make sure there is enough memory to do something useful. */ |
530 | check_memory(); | 528 | check_memory(); |
531 | 529 | ||
530 | /* Check if we are supposed to be in single user mode */ | ||
531 | if ( argc > 1 && (!strcmp(argv[1], "single") || | ||
532 | !strcmp(argv[1], "-s") || !strcmp(argv[1], "1"))) { | ||
533 | single = TRUE; | ||
534 | tty1_command = shell_command; | ||
535 | tty2_command = shell_command; | ||
536 | } | ||
532 | 537 | ||
533 | /* Make sure an init script exists before trying to run it */ | 538 | /* Make sure an init script exists before trying to run it */ |
534 | if (run_rc == TRUE && stat(INITSCRIPT, &statbuf)==0) { | 539 | if (single==FALSE && stat(INITSCRIPT, &statbuf)==0) { |
535 | wait_for_enter = FALSE; | 540 | run_rc = TRUE; |
536 | tty0_command = rc_script_command; | 541 | wait_for_enter_tty1 = FALSE; |
542 | tty1_command = rc_script_command; | ||
537 | } | 543 | } |
544 | |||
545 | /* Make sure /sbin/getty exists before trying to run it */ | ||
546 | if (stat(GETTY, &statbuf)==0) { | ||
547 | char* where; | ||
548 | wait_for_enter_tty2 = FALSE; | ||
549 | where = strrchr( console, '/'); | ||
550 | if ( where != NULL) { | ||
551 | strcpy( (char*)getty2_command[2], where); | ||
552 | } | ||
553 | tty2_command = getty2_command; | ||
554 | /* Check on hooking a getty onto tty1 */ | ||
555 | if (run_rc == FALSE && single==FALSE) { | ||
556 | wait_for_enter_tty1 = FALSE; | ||
557 | where = strrchr( second_console, '/'); | ||
558 | if ( where != NULL) { | ||
559 | strcpy( (char*)getty1_command[2], where); | ||
560 | } | ||
561 | tty1_command = getty1_command; | ||
562 | } | ||
563 | } | ||
564 | |||
538 | 565 | ||
539 | 566 | /* Ok, now launch the tty1_command and tty2_command */ | |
540 | /* Ok, now launch the rc script and/or prepare to | ||
541 | * start up some VTs if somebody hits enter... | ||
542 | */ | ||
543 | for (;;) { | 567 | for (;;) { |
544 | pid_t wpid; | 568 | pid_t wpid; |
545 | int status; | 569 | int status; |
546 | 570 | ||
547 | if (pid1 == 0 && tty0_command) { | 571 | if (pid1 == 0 && tty1_command) { |
548 | pid1 = run(tty0_command, console, wait_for_enter); | 572 | pid1 = run(tty1_command, console, wait_for_enter_tty1); |
549 | } | 573 | } |
550 | if (pid2 == 0 && tty1_command && second_console) { | 574 | #ifdef BB_FEATURE_INIT_SECOND_CONSOLE |
551 | pid2 = run(tty1_command, second_console, TRUE); | 575 | if (pid2 == 0 && tty2_command && second_console) { |
576 | pid2 = run(tty2_command, second_console, wait_for_enter_tty2); | ||
552 | } | 577 | } |
578 | #endif | ||
553 | wpid = wait(&status); | 579 | wpid = wait(&status); |
554 | if (wpid > 0 ) { | 580 | if (wpid > 0 ) { |
555 | message(LOG, "pid %d exited, status=%x.\n", wpid, status); | 581 | message(LOG, "pid %d exited, status=%x.\n", wpid, status); |
@@ -563,14 +589,16 @@ extern int init_main(int argc, char **argv) | |||
563 | else { | 589 | else { |
564 | pid1 = 0; | 590 | pid1 = 0; |
565 | run_rc=FALSE; | 591 | run_rc=FALSE; |
566 | wait_for_enter=TRUE; | 592 | wait_for_enter_tty1=TRUE; |
567 | tty0_command=rc_exit_command; | 593 | tty1_command=rc_exit_command; |
568 | } | 594 | } |
569 | #endif | 595 | #endif |
570 | } | 596 | } |
597 | #ifdef BB_FEATURE_INIT_SECOND_CONSOLE | ||
571 | if (wpid == pid2) { | 598 | if (wpid == pid2) { |
572 | pid2 = 0; | 599 | pid2 = 0; |
573 | } | 600 | } |
601 | #endif | ||
574 | sleep(1); | 602 | sleep(1); |
575 | } | 603 | } |
576 | } | 604 | } |
diff --git a/init/init.c b/init/init.c index 84b558d84..dbd9f2812 100644 --- a/init/init.c +++ b/init/init.c | |||
@@ -55,6 +55,7 @@ | |||
55 | #define VT_LOG "/dev/tty3" /* Virtual console */ | 55 | #define VT_LOG "/dev/tty3" /* Virtual console */ |
56 | #define SERIAL_CON0 "/dev/ttyS0" /* Primary serial console */ | 56 | #define SERIAL_CON0 "/dev/ttyS0" /* Primary serial console */ |
57 | #define SERIAL_CON1 "/dev/ttyS1" /* Serial console */ | 57 | #define SERIAL_CON1 "/dev/ttyS1" /* Serial console */ |
58 | #define GETTY "/sbin/getty" /* Default location of getty */ | ||
58 | #define SHELL "/bin/sh" /* Default shell */ | 59 | #define SHELL "/bin/sh" /* Default shell */ |
59 | #define INITSCRIPT "/etc/init.d/rcS" /* Initscript. */ | 60 | #define INITSCRIPT "/etc/init.d/rcS" /* Initscript. */ |
60 | 61 | ||
@@ -446,15 +447,19 @@ static void reboot_signal(int sig) | |||
446 | 447 | ||
447 | extern int init_main(int argc, char **argv) | 448 | extern int init_main(int argc, char **argv) |
448 | { | 449 | { |
449 | int run_rc = TRUE; | 450 | int run_rc = FALSE; |
450 | int wait_for_enter = TRUE; | 451 | int single = FALSE; |
452 | int wait_for_enter_tty1 = TRUE; | ||
453 | int wait_for_enter_tty2 = TRUE; | ||
451 | pid_t pid1 = 0; | 454 | pid_t pid1 = 0; |
452 | pid_t pid2 = 0; | 455 | pid_t pid2 = 0; |
453 | struct stat statbuf; | 456 | struct stat statbuf; |
454 | const char* const rc_script_command[] = { INITSCRIPT, INITSCRIPT, 0}; | 457 | const char* const rc_script_command[] = { INITSCRIPT, INITSCRIPT, 0}; |
458 | const char* const getty1_command[] = { GETTY, GETTY, VT_PRIMARY, 0}; | ||
459 | const char* const getty2_command[] = { GETTY, GETTY, VT_SECONDARY, 0}; | ||
455 | const char* const shell_command[] = { SHELL, "-" SHELL, 0}; | 460 | const char* const shell_command[] = { SHELL, "-" SHELL, 0}; |
456 | const char* const* tty0_command = shell_command; | ||
457 | const char* const* tty1_command = shell_command; | 461 | const char* const* tty1_command = shell_command; |
462 | const char* const* tty2_command = shell_command; | ||
458 | #ifdef BB_INIT_CMD_IF_RC_SCRIPT_EXITS | 463 | #ifdef BB_INIT_CMD_IF_RC_SCRIPT_EXITS |
459 | const char* const rc_exit_command[] = { "BB_INIT_CMD_IF_RC_SCRIPT_EXITS", | 464 | const char* const rc_exit_command[] = { "BB_INIT_CMD_IF_RC_SCRIPT_EXITS", |
460 | "BB_INIT_CMD_IF_RC_SCRIPT_EXITS", 0 }; | 465 | "BB_INIT_CMD_IF_RC_SCRIPT_EXITS", 0 }; |
@@ -477,13 +482,6 @@ extern int init_main(int argc, char **argv) | |||
477 | } | 482 | } |
478 | #endif | 483 | #endif |
479 | 484 | ||
480 | /* Check if we are supposed to be in single user mode */ | ||
481 | if ( argc > 1 && (!strcmp(argv[1], "single") || | ||
482 | !strcmp(argv[1], "-s") || !strcmp(argv[1], "1"))) { | ||
483 | run_rc = FALSE; | ||
484 | } | ||
485 | |||
486 | |||
487 | /* Set up sig handlers -- be sure to | 485 | /* Set up sig handlers -- be sure to |
488 | * clear all of these in run() */ | 486 | * clear all of these in run() */ |
489 | signal(SIGUSR1, halt_signal); | 487 | signal(SIGUSR1, halt_signal); |
@@ -529,27 +527,55 @@ extern int init_main(int argc, char **argv) | |||
529 | /* Make sure there is enough memory to do something useful. */ | 527 | /* Make sure there is enough memory to do something useful. */ |
530 | check_memory(); | 528 | check_memory(); |
531 | 529 | ||
530 | /* Check if we are supposed to be in single user mode */ | ||
531 | if ( argc > 1 && (!strcmp(argv[1], "single") || | ||
532 | !strcmp(argv[1], "-s") || !strcmp(argv[1], "1"))) { | ||
533 | single = TRUE; | ||
534 | tty1_command = shell_command; | ||
535 | tty2_command = shell_command; | ||
536 | } | ||
532 | 537 | ||
533 | /* Make sure an init script exists before trying to run it */ | 538 | /* Make sure an init script exists before trying to run it */ |
534 | if (run_rc == TRUE && stat(INITSCRIPT, &statbuf)==0) { | 539 | if (single==FALSE && stat(INITSCRIPT, &statbuf)==0) { |
535 | wait_for_enter = FALSE; | 540 | run_rc = TRUE; |
536 | tty0_command = rc_script_command; | 541 | wait_for_enter_tty1 = FALSE; |
542 | tty1_command = rc_script_command; | ||
537 | } | 543 | } |
544 | |||
545 | /* Make sure /sbin/getty exists before trying to run it */ | ||
546 | if (stat(GETTY, &statbuf)==0) { | ||
547 | char* where; | ||
548 | wait_for_enter_tty2 = FALSE; | ||
549 | where = strrchr( console, '/'); | ||
550 | if ( where != NULL) { | ||
551 | strcpy( (char*)getty2_command[2], where); | ||
552 | } | ||
553 | tty2_command = getty2_command; | ||
554 | /* Check on hooking a getty onto tty1 */ | ||
555 | if (run_rc == FALSE && single==FALSE) { | ||
556 | wait_for_enter_tty1 = FALSE; | ||
557 | where = strrchr( second_console, '/'); | ||
558 | if ( where != NULL) { | ||
559 | strcpy( (char*)getty1_command[2], where); | ||
560 | } | ||
561 | tty1_command = getty1_command; | ||
562 | } | ||
563 | } | ||
564 | |||
538 | 565 | ||
539 | 566 | /* Ok, now launch the tty1_command and tty2_command */ | |
540 | /* Ok, now launch the rc script and/or prepare to | ||
541 | * start up some VTs if somebody hits enter... | ||
542 | */ | ||
543 | for (;;) { | 567 | for (;;) { |
544 | pid_t wpid; | 568 | pid_t wpid; |
545 | int status; | 569 | int status; |
546 | 570 | ||
547 | if (pid1 == 0 && tty0_command) { | 571 | if (pid1 == 0 && tty1_command) { |
548 | pid1 = run(tty0_command, console, wait_for_enter); | 572 | pid1 = run(tty1_command, console, wait_for_enter_tty1); |
549 | } | 573 | } |
550 | if (pid2 == 0 && tty1_command && second_console) { | 574 | #ifdef BB_FEATURE_INIT_SECOND_CONSOLE |
551 | pid2 = run(tty1_command, second_console, TRUE); | 575 | if (pid2 == 0 && tty2_command && second_console) { |
576 | pid2 = run(tty2_command, second_console, wait_for_enter_tty2); | ||
552 | } | 577 | } |
578 | #endif | ||
553 | wpid = wait(&status); | 579 | wpid = wait(&status); |
554 | if (wpid > 0 ) { | 580 | if (wpid > 0 ) { |
555 | message(LOG, "pid %d exited, status=%x.\n", wpid, status); | 581 | message(LOG, "pid %d exited, status=%x.\n", wpid, status); |
@@ -563,14 +589,16 @@ extern int init_main(int argc, char **argv) | |||
563 | else { | 589 | else { |
564 | pid1 = 0; | 590 | pid1 = 0; |
565 | run_rc=FALSE; | 591 | run_rc=FALSE; |
566 | wait_for_enter=TRUE; | 592 | wait_for_enter_tty1=TRUE; |
567 | tty0_command=rc_exit_command; | 593 | tty1_command=rc_exit_command; |
568 | } | 594 | } |
569 | #endif | 595 | #endif |
570 | } | 596 | } |
597 | #ifdef BB_FEATURE_INIT_SECOND_CONSOLE | ||
571 | if (wpid == pid2) { | 598 | if (wpid == pid2) { |
572 | pid2 = 0; | 599 | pid2 = 0; |
573 | } | 600 | } |
601 | #endif | ||
574 | sleep(1); | 602 | sleep(1); |
575 | } | 603 | } |
576 | } | 604 | } |
diff --git a/install.sh b/install.sh index 670c0c6e1..769d1f4a3 100755 --- a/install.sh +++ b/install.sh | |||
@@ -12,8 +12,7 @@ h=`sort busybox.links | uniq` | |||
12 | for i in $h ; do | 12 | for i in $h ; do |
13 | echo " $1$i -> /bin/busybox" | 13 | echo " $1$i -> /bin/busybox" |
14 | mkdir -p $1/`echo $i | sed -e 's/\/[^\/]*$//' ` | 14 | mkdir -p $1/`echo $i | sed -e 's/\/[^\/]*$//' ` |
15 | rm -f $1$i | 15 | ln -fs /bin/busybox $1$i |
16 | ln -s /bin/busybox $1$i | ||
17 | done | 16 | done |
18 | rm -f $1/bin/busybox | 17 | rm -f $1/bin/busybox |
19 | install -m 755 busybox $1/bin/busybox | 18 | install -m 755 busybox $1/bin/busybox |
@@ -107,6 +107,12 @@ umount_all(int useMtab) | |||
107 | extern int | 107 | extern int |
108 | umount_main(int argc, char** argv) | 108 | umount_main(int argc, char** argv) |
109 | { | 109 | { |
110 | int i=0; | ||
111 | char **foo=argv; | ||
112 | while(*foo) { | ||
113 | fprintf(stderr, "argv[%d]='%s'\n", i++, *foo); | ||
114 | foo++; | ||
115 | } | ||
110 | 116 | ||
111 | if (argc < 2) { | 117 | if (argc < 2) { |
112 | usage( umount_usage); | 118 | usage( umount_usage); |
diff --git a/util-linux/umount.c b/util-linux/umount.c index 3bd86814e..522498be7 100644 --- a/util-linux/umount.c +++ b/util-linux/umount.c | |||
@@ -107,6 +107,12 @@ umount_all(int useMtab) | |||
107 | extern int | 107 | extern int |
108 | umount_main(int argc, char** argv) | 108 | umount_main(int argc, char** argv) |
109 | { | 109 | { |
110 | int i=0; | ||
111 | char **foo=argv; | ||
112 | while(*foo) { | ||
113 | fprintf(stderr, "argv[%d]='%s'\n", i++, *foo); | ||
114 | foo++; | ||
115 | } | ||
110 | 116 | ||
111 | if (argc < 2) { | 117 | if (argc < 2) { |
112 | usage( umount_usage); | 118 | usage( umount_usage); |