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" <debian@daniel.baur4.info>
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=467244
CC: Andreas Henriksson <andreas@fatal.se>
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
.rfc5424_host = 1,
};
int ch;
+ int stdout_reopened = 0;
#ifdef HAVE_LIBSYSTEMD
FILE *jfd = NULL;
#endif
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;
}
argc -= optind;
argv += optind;
+ if (stdout_reopened && argc)
+ warnx(_("--file <file> and <message> are mutually exclusive, message is ignored"));
#ifdef HAVE_LIBSYSTEMD
if (jfd) {
int ret = journald_entry(jfd);