diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/journal/cat.c | 11 | ||||
-rw-r--r-- | src/notify.c | 10 |
2 files changed, 16 insertions, 5 deletions
diff --git a/src/journal/cat.c b/src/journal/cat.c index 6745f1ce0a..31d76f33bb 100644 --- a/src/journal/cat.c +++ b/src/journal/cat.c @@ -59,7 +59,7 @@ static int parse_argv(int argc, char *argv[]) { static const struct option options[] = { { "help", no_argument, NULL, 'h' }, - { "version" , no_argument, NULL, ARG_VERSION }, + { "version", no_argument, NULL, ARG_VERSION }, { "identifier", required_argument, NULL, 't' }, { "priority", required_argument, NULL, 'p' }, { "level-prefix", required_argument, NULL, ARG_LEVEL_PREFIX }, @@ -139,7 +139,7 @@ int main(int argc, char *argv[]) { fd = sd_journal_stream_fd(arg_identifier, arg_priority, arg_level_prefix); if (fd < 0) { - log_error("Failed to create stream fd: %s", strerror(fd)); + log_error("Failed to create stream fd: %s", strerror(-fd)); r = fd; goto finish; } @@ -148,7 +148,7 @@ int main(int argc, char *argv[]) { if (dup3(fd, STDOUT_FILENO, 0) < 0 || dup3(fd, STDERR_FILENO, 0) < 0) { - log_error("Failed to duplicate fd: %s", strerror(fd)); + log_error("Failed to duplicate fd: %m"); r = -errno; goto finish; } @@ -163,12 +163,13 @@ int main(int argc, char *argv[]) { else execvp(argv[optind], argv + optind); + r = -errno; + /* Let's try to restore a working stderr, so we can print the error message */ if (saved_stderr >= 0) dup3(saved_stderr, STDERR_FILENO, 0); - log_error("Failed to execute process: %m"); - r = -errno; + log_error("Failed to execute process: %s", strerror(-r)); finish: if (fd >= 0) diff --git a/src/notify.c b/src/notify.c index 9d52bdfdd3..943808eb0d 100644 --- a/src/notify.c +++ b/src/notify.c @@ -33,6 +33,7 @@ #include "util.h" #include "log.h" #include "sd-readahead.h" +#include "build.h" static bool arg_ready = false; static pid_t arg_pid = 0; @@ -45,6 +46,7 @@ static int help(void) { printf("%s [OPTIONS...] [VARIABLE=VALUE...]\n\n" "Notify the init system about service status updates.\n\n" " -h --help Show this help\n" + " --version Show package version\n" " --ready Inform the init system about service start-up completion\n" " --pid[=PID] Set main pid of daemon\n" " --status=TEXT Set status text\n" @@ -59,6 +61,7 @@ static int parse_argv(int argc, char *argv[]) { enum { ARG_READY = 0x100, + ARG_VERSION, ARG_PID, ARG_STATUS, ARG_BOOTED, @@ -67,6 +70,7 @@ static int parse_argv(int argc, char *argv[]) { static const struct option options[] = { { "help", no_argument, NULL, 'h' }, + { "version", no_argument, NULL, ARG_VERSION }, { "ready", no_argument, NULL, ARG_READY }, { "pid", optional_argument, NULL, ARG_PID }, { "status", required_argument, NULL, ARG_STATUS }, @@ -88,6 +92,12 @@ static int parse_argv(int argc, char *argv[]) { help(); return 0; + case ARG_VERSION: + puts(PACKAGE_STRING); + puts(DISTRIBUTION); + puts(SYSTEMD_FEATURES); + return 0; + case ARG_READY: arg_ready = true; break; |