From: Sami Kerola Date: Sun, 27 Jul 2014 17:01:09 +0000 (+0100) Subject: logger: warn when --file and command line message are combined X-Git-Tag: v2.26-rc1~576^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3d9f4b1d234e4a38ac6a5619c4cd93fc66d1d4c6;p=thirdparty%2Futil-linux.git logger: warn when --file and command line message are combined When --file is combined with command line arguments the later has silently been ignored. This commit makes user to be aware the logger will not use command line arguments when --file is specified. Reported-by: "Daniel 'DaB.' Baur" Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=467244 CC: Andreas Henriksson Signed-off-by: Sami Kerola --- diff --git a/misc-utils/logger.c b/misc-utils/logger.c index afd93712a2..ac583fd104 100644 --- a/misc-utils/logger.c +++ b/misc-utils/logger.c @@ -535,6 +535,7 @@ int main(int argc, char **argv) .rfc5424_host = 1, }; int ch; + int stdout_reopened = 0; #ifdef HAVE_LIBSYSTEMD FILE *jfd = NULL; #endif @@ -570,8 +571,8 @@ int main(int argc, char **argv) switch (ch) { case 'f': /* file to log */ if (freopen(optarg, "r", stdin) == NULL) - err(EXIT_FAILURE, _("file %s"), - optarg); + err(EXIT_FAILURE, _("file %s"), optarg); + stdout_reopened = 1; break; case 'i': /* log process id also */ ctl.logflags |= LOG_PID; @@ -642,6 +643,8 @@ int main(int argc, char **argv) } argc -= optind; argv += optind; + if (stdout_reopened && argc) + warnx(_("--file and are mutually exclusive, message is ignored")); #ifdef HAVE_LIBSYSTEMD if (jfd) { int ret = journald_entry(jfd);