summaryrefslogtreecommitdiff
path: root/usr.sbin/init/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/init/main.c')
-rw-r--r--usr.sbin/init/main.c22
1 files changed, 12 insertions, 10 deletions
diff --git a/usr.sbin/init/main.c b/usr.sbin/init/main.c
index 5da33c6..12bb98c 100644
--- a/usr.sbin/init/main.c
+++ b/usr.sbin/init/main.c
@@ -33,6 +33,9 @@
#include <stdio.h>
#include <string.h>
+#define log_trace(fmt, ...) printf("[init]: " fmt, ##__VA_ARGS__)
+#define log_error(fmt, ...) printf("[error]: " fmt, ##__VA_ARGS__)
+
#define SHELL_PATH "/usr/bin/osh"
#define LOGIN_PATH "/usr/bin/login"
#define INIT_RC_PATH "/usr/rc/init.rc"
@@ -41,33 +44,31 @@ static void
init_hostname(void)
{
char hostname[128];
- int error;
size_t len;
FILE *fp;
fp = fopen("/etc/hostname", "r");
if (fp == NULL) {
- printf("[init]: error opening /etc/hostname\n");
+ log_error("[init]: error opening /etc/hostname\n");
return;
}
- error = fread(hostname, sizeof(char), sizeof(hostname), fp);
- if (error <= 0) {
- printf("[init]: error reading /etc/hostname\n");
+ len = fread(hostname, sizeof(char), sizeof(hostname), fp);
+ if (len == 0) {
+ log_error("[init]: error reading /etc/hostname\n");
fclose(fp);
return;
}
- len = strlen(hostname);
- hostname[len - 2] = '\0';
-
+ hostname[len - 1] = '\0';
if (sethostname(hostname, len) < 0) {
- printf("[init]: error setting hostname\n");
- printf("[init]: tried to set %s (len=%d)\n", hostname, len);
+ log_error("[init]: error setting hostname\n");
+ log_error("[init]: tried to set %s (len=%d)\n", hostname, len);
fclose(fp);
return;
}
+ log_trace("hostname -> %s\n", hostname);
fclose(fp);
}
@@ -82,6 +83,7 @@ main(int argc, char **argv)
init_hostname();
/* Start the init.rc */
+ log_trace("init.rc up\n");
spawn(SHELL_PATH, start_argv, envp, 0);
start_argv[1] = NULL;