Changes
diff --git a/init.c b/init.c
index 75a6599..7258d31 100644
--- a/init.c
+++ b/init.c
@@ -40,6 +40,9 @@
#include <linux/serial.h> /* for serial_struct */
#include <sys/vt.h> /* for vt_stat */
#include <sys/ioctl.h>
+#ifdef BB_SYSLOGD
+#include <sys/syslog.h>
+#endif
#define DEV_CONSOLE "/dev/console" /* Logical system console */
#define VT_PRIMARY "/dev/tty1" /* Primary virtual console */
@@ -83,8 +86,20 @@
void message(int device, char *fmt, ...)
{
int fd;
- static int log_fd=-1;
va_list arguments;
+#ifdef BB_SYSLOGD
+
+ /* Log the message to syslogd */
+ if (device & LOG ) {
+ char msg[1024];
+ va_start(arguments, fmt);
+ vsnprintf(msg, sizeof(msg), fmt, arguments);
+ va_end(arguments);
+ syslog(LOG_DAEMON|LOG_NOTICE, msg);
+ }
+
+#else
+ static int log_fd=-1;
/* Take full control of the log tty, and never close it.
* It's mine, all mine! Muhahahaha! */
@@ -102,12 +117,13 @@
return;
}
}
-
if ( (device & LOG) && (log_fd >= 0) ) {
va_start(arguments, fmt);
vdprintf(log_fd, fmt, arguments);
va_end(arguments);
}
+#endif
+
if (device & CONSOLE) {
/* Always send console messages to /dev/console so people will see them. */
if ((fd = device_open(DEV_CONSOLE, O_WRONLY|O_NOCTTY|O_NDELAY)) >= 0) {
@@ -433,8 +449,9 @@
const char* const shell_command[] = { SHELL, "-" SHELL, 0};
const char* const* tty0_command = shell_command;
const char* const* tty1_command = shell_command;
-#ifdef BB_CONSOLE_CMD_IF_RC_SCRIPT_EXITS
- const char* const rc_exit_command[] = BB_CONSOLE_CMD_IF_RC_SCRIPT_EXITS;
+#ifdef BB_INIT_CMD_IF_RC_SCRIPT_EXITS
+ const char* const rc_exit_command[] = { "BB_INIT_CMD_IF_RC_SCRIPT_EXITS",
+ "BB_INIT_CMD_IF_RC_SCRIPT_EXITS", 0 };
#endif
#ifdef DEBUG_INIT
@@ -536,7 +553,7 @@
if (run_rc == FALSE) {
pid1 = 0;
}
-#ifdef BB_CONSOLE_CMD_IF_RC_SCRIPT_EXITS
+#ifdef BB_INIT_CMD_IF_RC_SCRIPT_EXITS
else {
pid1 = 0;
run_rc=FALSE;
diff --git a/init/init.c b/init/init.c
index 75a6599..7258d31 100644
--- a/init/init.c
+++ b/init/init.c
@@ -40,6 +40,9 @@
#include <linux/serial.h> /* for serial_struct */
#include <sys/vt.h> /* for vt_stat */
#include <sys/ioctl.h>
+#ifdef BB_SYSLOGD
+#include <sys/syslog.h>
+#endif
#define DEV_CONSOLE "/dev/console" /* Logical system console */
#define VT_PRIMARY "/dev/tty1" /* Primary virtual console */
@@ -83,8 +86,20 @@
void message(int device, char *fmt, ...)
{
int fd;
- static int log_fd=-1;
va_list arguments;
+#ifdef BB_SYSLOGD
+
+ /* Log the message to syslogd */
+ if (device & LOG ) {
+ char msg[1024];
+ va_start(arguments, fmt);
+ vsnprintf(msg, sizeof(msg), fmt, arguments);
+ va_end(arguments);
+ syslog(LOG_DAEMON|LOG_NOTICE, msg);
+ }
+
+#else
+ static int log_fd=-1;
/* Take full control of the log tty, and never close it.
* It's mine, all mine! Muhahahaha! */
@@ -102,12 +117,13 @@
return;
}
}
-
if ( (device & LOG) && (log_fd >= 0) ) {
va_start(arguments, fmt);
vdprintf(log_fd, fmt, arguments);
va_end(arguments);
}
+#endif
+
if (device & CONSOLE) {
/* Always send console messages to /dev/console so people will see them. */
if ((fd = device_open(DEV_CONSOLE, O_WRONLY|O_NOCTTY|O_NDELAY)) >= 0) {
@@ -433,8 +449,9 @@
const char* const shell_command[] = { SHELL, "-" SHELL, 0};
const char* const* tty0_command = shell_command;
const char* const* tty1_command = shell_command;
-#ifdef BB_CONSOLE_CMD_IF_RC_SCRIPT_EXITS
- const char* const rc_exit_command[] = BB_CONSOLE_CMD_IF_RC_SCRIPT_EXITS;
+#ifdef BB_INIT_CMD_IF_RC_SCRIPT_EXITS
+ const char* const rc_exit_command[] = { "BB_INIT_CMD_IF_RC_SCRIPT_EXITS",
+ "BB_INIT_CMD_IF_RC_SCRIPT_EXITS", 0 };
#endif
#ifdef DEBUG_INIT
@@ -536,7 +553,7 @@
if (run_rc == FALSE) {
pid1 = 0;
}
-#ifdef BB_CONSOLE_CMD_IF_RC_SCRIPT_EXITS
+#ifdef BB_INIT_CMD_IF_RC_SCRIPT_EXITS
else {
pid1 = 0;
run_rc=FALSE;