Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:42.1:Update
systemd-mini.4328
0002-journalctl-man-allow-only-between-terms.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0002-journalctl-man-allow-only-between-terms.patch of Package systemd-mini.4328
From 4e6029435111adcad71489aca2dd68bc65aeffd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl> Date: Sat, 19 Jul 2014 21:05:07 -0400 Subject: [PATCH] journalctl,man: allow + only between terms https://bugzilla.redhat.com/show_bug.cgi?id=1110712 --- man/journalctl.xml | 19 +++++++++++++++---- src/journal/journalctl.c | 20 +++++++++++++++++--- 2 files changed, 32 insertions(+), 7 deletions(-) diff --git man/journalctl.xml man/journalctl.xml index 47b5a05..df9c794 100644 --- man/journalctl.xml +++ man/journalctl.xml @@ -84,10 +84,11 @@ field, then they are automatically matched as alternatives, i.e. the resulting output will show entries matching any of the specified matches for the - same field. Finally, if the character - <literal>+</literal> appears as a separate word on the - command line, all matches before and after are combined - in a disjunction (i.e. logical OR).</para> + same field. Finally, the character + <literal>+</literal> may appears as a separate word + between other terms on the command line. This causes + all matches before and after to be combined in a + disjunction (i.e. logical OR).</para> <para>As shortcuts for a few types of field/value matches, file paths may be specified. If a file path @@ -98,11 +99,21 @@ <literal>_KERNEL_DEVICE=</literal> match for the device.</para> + <para>Additional contraints may be added using options + <option>--boot</option>, <option>--unit=</option>, + etc, to futher limit what entries will be shown + (logical AND).</para> + <para>Output is interleaved from all accessible journal files, whether they are rotated or currently being written, and regardless of whether they belong to the system itself or are accessible user journals.</para> + <para>The set of journal files which will be used + can be modified using the <option>--user</option>, + <option>--system</option>, <option>--directory</option>, + and <option>--file</option> options, see below.</para> + <para>All users are granted access to their private per-user journals. However, by default, only root and users who are members of the <literal>systemd-journal</literal> diff --git src/journal/journalctl.c src/journal/journalctl.c index 92e8286..7aedbf0 100644 --- src/journal/journalctl.c +++ src/journal/journalctl.c @@ -699,15 +699,20 @@ static int generate_new_id128(void) { static int add_matches(sd_journal *j, char **args) { char **i; + bool have_term = false; assert(j); STRV_FOREACH(i, args) { int r; - if (streq(*i, "+")) + if (streq(*i, "+")) { + if (!have_term) + break; r = sd_journal_add_disjunction(j); - else if (path_is_absolute(*i)) { + have_term = false; + + } else if (path_is_absolute(*i)) { _cleanup_free_ char *p, *t = NULL, *t2 = NULL; const char *path; _cleanup_free_ char *interpreter = NULL; @@ -756,8 +761,12 @@ static int add_matches(sd_journal *j, char **args) { r = sd_journal_add_match(j, t, 0); if (t2) r = sd_journal_add_match(j, t2, 0); - } else + have_term = true; + + } else { r = sd_journal_add_match(j, *i, 0); + have_term = true; + } if (r < 0) { log_error("Failed to add match '%s': %s", *i, strerror(-r)); @@ -765,6 +774,11 @@ static int add_matches(sd_journal *j, char **args) { } } + if (!strv_isempty(args) && !have_term) { + log_error("\"+\" can only be used between terms"); + return -EINVAL; + } + return 0; } -- 1.7.9.2
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor