* Major adjustment of init.c. Code is now readable IMHO,
and much more solid.
* Wrote sed -- weighs only 1.8k (5.8k with full regular expressions!).
+ * Fixed a stupid seg-fault in sync
-Erik Andersen
static const char tar_usage[] =
- "Create, extract, or list files from a TAR file\n\n"
- "usage: tar -[cxtvOf] [tarFileName] [FILE] ...\n"
+ "tar -[cxtvOf] [tarFileName] [FILE] ...\n"
+ "Create, extract, or list files from a tar file\n\n"
"\tc=create, x=extract, t=list contents, v=verbose,\n"
"\tO=extract to stdout, f=tarfile or \"-\" for stdin\n";
argc--;
argv++;
- if (argc < 1) {
- fprintf (stderr, "%s", tar_usage);
- exit (FALSE);
- }
+ if (argc < 1)
+ usage( tar_usage);
errorFlag = FALSE;
for i in $h ; do
mkdir -p $RPM_BUILD_ROOT/`echo $i | sed -e 's/\(^.*\/\)\(.*\)/\1/g' `
- (cd $RPM_BUILD_ROOT/bin ; ln -s ln `echo $i | sed -e 's/\(^.*\/\)\(.*\)/\2/g' ` );
+ (cd $RPM_BUILD_ROOT/bin ; ln -s busybox `echo $i | sed -e 's/\(^.*\/\)\(.*\)/\2/g' ` );
done
rm -f $RPM_BUILD_ROOT/bin/busybox
install -m 755 busybox $RPM_BUILD_ROOT/bin/busybox
extern int
sync_main(int argc, char * * argv)
{
- if ( **(argv+1) == '-' ) {
+ if ( argc>1 && **(argv+1) == '-' ) {
usage( "sync\nWrite all buffered filesystem blocks to disk.\n");
}
- return sync();
+ exit( sync());
}
for i in $h ; do
mkdir -p $RPM_BUILD_ROOT/`echo $i | sed -e 's/\(^.*\/\)\(.*\)/\1/g' `
- (cd $RPM_BUILD_ROOT/bin ; ln -s ln `echo $i | sed -e 's/\(^.*\/\)\(.*\)/\2/g' ` );
+ (cd $RPM_BUILD_ROOT/bin ; ln -s busybox `echo $i | sed -e 's/\(^.*\/\)\(.*\)/\2/g' ` );
done
rm -f $RPM_BUILD_ROOT/bin/busybox
install -m 755 busybox $RPM_BUILD_ROOT/bin/busybox
//#define DEBUG_INIT
#define CONSOLE "/dev/console" /* Logical system console */
-#define VT_PRIMARY "/dev/tty0" /* Primary virtual console */
-#define VT_SECONDARY "/dev/tty1" /* Virtual console */
-#define VT_LOG "/dev/tty2" /* Virtual console */
+#define VT_PRIMARY "/dev/tty1" /* Primary virtual console */
+#define VT_SECONDARY "/dev/tty2" /* Virtual console */
+#define VT_LOG "/dev/tty3" /* Virtual console */
#define SERIAL_CON0 "/dev/ttyS0" /* Primary serial console */
#define SERIAL_CON1 "/dev/ttyS1" /* Serial console */
#define SHELL "/bin/sh" /* Default shell */
#define INITSCRIPT "/etc/init.d/rcS" /* Initscript. */
#define PATH_DEFAULT "PATH=/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin"
-static char *console = VT_PRIMARY;
-static char *second_terminal = VT_SECONDARY;
-static char *log = "/dev/tty3";
+static char *console = CONSOLE;
+static char *second_console = VT_SECONDARY;
+static char *log = VT_LOG;
}
#endif
} else {
- console = VT_PRIMARY;
- tried_vtprimary++;
+ console = CONSOLE;
+ tried_devcons++;
}
while ((fd = open(console, O_RDONLY | O_NONBLOCK)) < 0) {
- /* Can't open selected console -- try vt1 */
- if (!tried_vtprimary) {
- tried_vtprimary++;
- console = VT_PRIMARY;
- continue;
- }
/* Can't open selected console -- try /dev/console */
if (!tried_devcons) {
tried_devcons++;
console = CONSOLE;
continue;
}
+ /* Can't open selected console -- try vt1 */
+ if (!tried_vtprimary) {
+ tried_vtprimary++;
+ console = VT_PRIMARY;
+ continue;
+ }
break;
}
if (fd < 0)
pid1 = run(tty0_commands, console, wait_for_enter);
}
if (pid2 == 0 && tty1_commands) {
- pid2 = run(tty1_commands, second_terminal, TRUE);
+ pid2 = run(tty1_commands, second_console, TRUE);
}
wpid = wait(&status);
if (wpid > 0 ) {
//#define DEBUG_INIT
#define CONSOLE "/dev/console" /* Logical system console */
-#define VT_PRIMARY "/dev/tty0" /* Primary virtual console */
-#define VT_SECONDARY "/dev/tty1" /* Virtual console */
-#define VT_LOG "/dev/tty2" /* Virtual console */
+#define VT_PRIMARY "/dev/tty1" /* Primary virtual console */
+#define VT_SECONDARY "/dev/tty2" /* Virtual console */
+#define VT_LOG "/dev/tty3" /* Virtual console */
#define SERIAL_CON0 "/dev/ttyS0" /* Primary serial console */
#define SERIAL_CON1 "/dev/ttyS1" /* Serial console */
#define SHELL "/bin/sh" /* Default shell */
#define INITSCRIPT "/etc/init.d/rcS" /* Initscript. */
#define PATH_DEFAULT "PATH=/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin"
-static char *console = VT_PRIMARY;
-static char *second_terminal = VT_SECONDARY;
-static char *log = "/dev/tty3";
+static char *console = CONSOLE;
+static char *second_console = VT_SECONDARY;
+static char *log = VT_LOG;
}
#endif
} else {
- console = VT_PRIMARY;
- tried_vtprimary++;
+ console = CONSOLE;
+ tried_devcons++;
}
while ((fd = open(console, O_RDONLY | O_NONBLOCK)) < 0) {
- /* Can't open selected console -- try vt1 */
- if (!tried_vtprimary) {
- tried_vtprimary++;
- console = VT_PRIMARY;
- continue;
- }
/* Can't open selected console -- try /dev/console */
if (!tried_devcons) {
tried_devcons++;
console = CONSOLE;
continue;
}
+ /* Can't open selected console -- try vt1 */
+ if (!tried_vtprimary) {
+ tried_vtprimary++;
+ console = VT_PRIMARY;
+ continue;
+ }
break;
}
if (fd < 0)
pid1 = run(tty0_commands, console, wait_for_enter);
}
if (pid2 == 0 && tty1_commands) {
- pid2 = run(tty1_commands, second_terminal, TRUE);
+ pid2 = run(tty1_commands, second_console, TRUE);
}
wpid = wait(&status);
if (wpid > 0 ) {
extern int
sync_main(int argc, char * * argv)
{
- if ( **(argv+1) == '-' ) {
+ if ( argc>1 && **(argv+1) == '-' ) {
usage( "sync\nWrite all buffered filesystem blocks to disk.\n");
}
- return sync();
+ exit( sync());
}
static const char tar_usage[] =
- "Create, extract, or list files from a TAR file\n\n"
- "usage: tar -[cxtvOf] [tarFileName] [FILE] ...\n"
+ "tar -[cxtvOf] [tarFileName] [FILE] ...\n"
+ "Create, extract, or list files from a tar file\n\n"
"\tc=create, x=extract, t=list contents, v=verbose,\n"
"\tO=extract to stdout, f=tarfile or \"-\" for stdin\n";
argc--;
argv++;
- if (argc < 1) {
- fprintf (stderr, "%s", tar_usage);
- exit (FALSE);
- }
+ if (argc < 1)
+ usage( tar_usage);
errorFlag = FALSE;