chiark / gitweb /
Some modernizations
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Sat, 15 Feb 2014 23:10:36 +0000 (18:10 -0500)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Mon, 17 Feb 2014 07:26:22 +0000 (02:26 -0500)
man/journald.conf.xml
src/core/main.c
src/journal/journald-console.c

index e0796e1cce4841363664b4e7a2a2b893f58847ec..03bcd0c28a6e70a6dde4323fa610c41c3e5e885a 100644 (file)
                                 <literal>systemd.journald.forward_to_kmsg=</literal>
                                 and
                                 <literal>systemd.journald.forward_to_console=</literal>.
-                                </para></listitem>
+                                When forwarding to the console, the
+                                TTY to log to log to can be changed
+                                with <varname>TTYPath=</varname>,
+                                described below.</para></listitem>
                         </varlistentry>
 
                         <varlistentry>
index fc85eedfe923ee3a40edf4670af21944a38d7244..dd67d08a0b2e517443989fcaa3163a10c46c3267 100644 (file)
@@ -303,7 +303,8 @@ static int parse_proc_cmdline_word(const char *word) {
         } else if (startswith(word, "systemd.dump_core=")) {
                 int r;
 
-                if ((r = parse_boolean(word + 18)) < 0)
+                r = parse_boolean(word + 18);
+                if (r < 0)
                         log_warning("Failed to parse dump core switch %s. Ignoring.", word + 18);
                 else
                         arg_dump_core = r;
@@ -311,7 +312,8 @@ static int parse_proc_cmdline_word(const char *word) {
         } else if (startswith(word, "systemd.crash_shell=")) {
                 int r;
 
-                if ((r = parse_boolean(word + 20)) < 0)
+                r = parse_boolean(word + 20);
+                if (r < 0)
                         log_warning("Failed to parse crash shell switch %s. Ignoring.", word + 20);
                 else
                         arg_crash_shell = r;
@@ -319,7 +321,8 @@ static int parse_proc_cmdline_word(const char *word) {
         } else if (startswith(word, "systemd.confirm_spawn=")) {
                 int r;
 
-                if ((r = parse_boolean(word + 22)) < 0)
+                r = parse_boolean(word + 22);
+                if (r < 0)
                         log_warning("Failed to parse confirm spawn switch %s. Ignoring.", word + 22);
                 else
                         arg_confirm_spawn = r;
@@ -341,23 +344,21 @@ static int parse_proc_cmdline_word(const char *word) {
         } else if (startswith(word, "systemd.default_standard_output=")) {
                 int r;
 
-                if ((r = exec_output_from_string(word + 32)) < 0)
+                r = exec_output_from_string(word + 32);
+                if (r < 0)
                         log_warning("Failed to parse default standard output switch %s. Ignoring.", word + 32);
                 else
                         arg_default_std_output = r;
         } else if (startswith(word, "systemd.default_standard_error=")) {
                 int r;
 
-                if ((r = exec_output_from_string(word + 31)) < 0)
+                r = exec_output_from_string(word + 31);
+                if (r < 0)
                         log_warning("Failed to parse default standard error switch %s. Ignoring.", word + 31);
                 else
                         arg_default_std_error = r;
         } else if (startswith(word, "systemd.setenv=")) {
-                _cleanup_free_ char *cenv = NULL;
-
-                cenv = strdup(word + 15);
-                if (!cenv)
-                        return -ENOMEM;
+                const char *cenv = word + 15;
 
                 if (env_assignment_is_valid(cenv)) {
                         char **env;
@@ -366,7 +367,8 @@ static int parse_proc_cmdline_word(const char *word) {
                         if (env)
                                 arg_default_environment = env;
                         else
-                                log_warning("Setting environment variable '%s' failed, ignoring: %m", cenv);
+                                log_warning("Setting environment variable '%s' failed, ignoring: %s",
+                                            cenv, strerror(ENOMEM));
                 } else
                         log_warning("Environment variable name '%s' is not valid. Ignoring.", cenv);
 
@@ -737,7 +739,7 @@ static int parse_argv(int argc, char *argv[]) {
                 { "switched-root",            no_argument,       NULL, ARG_SWITCHED_ROOT            },
                 { "default-standard-output",  required_argument, NULL, ARG_DEFAULT_STD_OUTPUT,      },
                 { "default-standard-error",   required_argument, NULL, ARG_DEFAULT_STD_ERROR,       },
-                { NULL,                       0,                 NULL, 0                            }
+                {}
         };
 
         int c, r;
@@ -753,7 +755,8 @@ static int parse_argv(int argc, char *argv[]) {
                 switch (c) {
 
                 case ARG_LOG_LEVEL:
-                        if ((r = log_set_max_level_from_string(optarg)) < 0) {
+                        r = log_set_max_level_from_string(optarg);
+                        if (r < 0) {
                                 log_error("Failed to parse log level %s.", optarg);
                                 return r;
                         }
@@ -761,8 +764,8 @@ static int parse_argv(int argc, char *argv[]) {
                         break;
 
                 case ARG_LOG_TARGET:
-
-                        if ((r = log_set_target_from_string(optarg)) < 0) {
+                        r = log_set_target_from_string(optarg);
+                        if (r < 0) {
                                 log_error("Failed to parse log target %s.", optarg);
                                 return r;
                         }
@@ -772,7 +775,8 @@ static int parse_argv(int argc, char *argv[]) {
                 case ARG_LOG_COLOR:
 
                         if (optarg) {
-                                if ((r = log_show_color_from_string(optarg)) < 0) {
+                                r = log_show_color_from_string(optarg);
+                                if (r < 0) {
                                         log_error("Failed to parse log color setting %s.", optarg);
                                         return r;
                                 }
@@ -782,9 +786,9 @@ static int parse_argv(int argc, char *argv[]) {
                         break;
 
                 case ARG_LOG_LOCATION:
-
                         if (optarg) {
-                                if ((r = log_show_location_from_string(optarg)) < 0) {
+                                r = log_show_location_from_string(optarg);
+                                if (r < 0) {
                                         log_error("Failed to parse log location setting %s.", optarg);
                                         return r;
                                 }
@@ -794,8 +798,8 @@ static int parse_argv(int argc, char *argv[]) {
                         break;
 
                 case ARG_DEFAULT_STD_OUTPUT:
-
-                        if ((r = exec_output_from_string(optarg)) < 0) {
+                        r = exec_output_from_string(optarg);
+                        if (r < 0) {
                                 log_error("Failed to parse default standard output setting %s.", optarg);
                                 return r;
                         } else
@@ -803,8 +807,8 @@ static int parse_argv(int argc, char *argv[]) {
                         break;
 
                 case ARG_DEFAULT_STD_ERROR:
-
-                        if ((r = exec_output_from_string(optarg)) < 0) {
+                        r = exec_output_from_string(optarg);
+                        if (r < 0) {
                                 log_error("Failed to parse default standard error output setting %s.", optarg);
                                 return r;
                         } else
@@ -813,7 +817,8 @@ static int parse_argv(int argc, char *argv[]) {
 
                 case ARG_UNIT:
 
-                        if ((r = set_default_unit(optarg)) < 0) {
+                        r = set_default_unit(optarg);
+                        if (r < 0) {
                                 log_error("Failed to set default unit %s: %s", optarg, strerror(-r));
                                 return r;
                         }
index 04c4424a46c7c72f5344e051a10b8df56f5e4305..35da52af2afa7a663ba24ee1074339f334ff55d2 100644 (file)
@@ -55,7 +55,7 @@ void server_forward_console(
         struct timespec ts;
         char tbuf[4 + DECIMAL_STR_MAX(ts.tv_sec) + DECIMAL_STR_MAX(ts.tv_nsec)-3 + 1];
         int n = 0, fd;
-        char *ident_buf = NULL;
+        _cleanup_free_ char *ident_buf = NULL;
         const char *tty;
 
         assert(s);
@@ -101,14 +101,11 @@ void server_forward_console(
         fd = open_terminal(tty, O_WRONLY|O_NOCTTY|O_CLOEXEC);
         if (fd < 0) {
                 log_debug("Failed to open %s for logging: %m", tty);
-                goto finish;
+                return;
         }
 
         if (writev(fd, iovec, n) < 0)
                 log_debug("Failed to write to %s for logging: %m", tty);
 
         close_nointr_nofail(fd);
-
-finish:
-        free(ident_buf);
 }