From: Zbigniew Jędrzejewski-Szmek Date: Fri, 29 Mar 2013 14:09:21 +0000 (-0400) Subject: journalctl: fix --update-catalog with not --root arg X-Git-Tag: v201~159 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=0db809489fd88a320ae1023ffe36a9965e9a91b2;ds=sidebyside journalctl: fix --update-catalog with not --root arg grawity> `journalctl --update-catalog` from latest git prints: "Recursive mkdir .: Invalid argument" and "Failed to write : Invalid argument" --- diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c index 3ae6482e9..c96d68dd4 100644 --- a/src/journal/journalctl.c +++ b/src/journal/journalctl.c @@ -1032,11 +1032,16 @@ int main(int argc, char *argv[]) { arg_action == ACTION_LIST_CATALOG || arg_action == ACTION_DUMP_CATALOG) { - char _cleanup_free_ *database; - database = strjoin(arg_root, "/", CATALOG_DATABASE, NULL); - if (!database) { - r = log_oom(); - goto finish; + const char* database = CATALOG_DATABASE; + char _cleanup_free_ *copy = NULL; + if (arg_root) { + copy = strjoin(arg_root, "/", CATALOG_DATABASE, NULL); + if (!database) { + r = log_oom(); + goto finish; + } + path_kill_slashes(copy); + database = copy; } if (arg_action == ACTION_UPDATE_CATALOG) {