chiark / gitweb /
catalog: open up catalog internals
[elogind.git] / src / journal / journalctl.c
index 0a82a1cf15b899b781e9f5e4a490952d2af3bc09..03daafe9db79405a755d1d129eb19ba71f559421 100644 (file)
@@ -1020,20 +1020,26 @@ int main(int argc, char *argv[]) {
                 goto finish;
         }
 
-        if (arg_action == ACTION_LIST_CATALOG ||
-            arg_action == ACTION_DUMP_CATALOG)  {
-                bool oneline = arg_action == ACTION_LIST_CATALOG;
-                if (optind < argc)
-                        r = catalog_list_items(stdout, oneline, argv + optind);
-                else
-                        r = catalog_list(stdout, oneline);
-                if (r < 0)
-                        log_error("Failed to list catalog: %s", strerror(-r));
-                goto finish;
-        }
+        if (arg_action == ACTION_UPDATE_CATALOG ||
+            arg_action == ACTION_LIST_CATALOG ||
+            arg_action == ACTION_DUMP_CATALOG) {
+
+                if (arg_action == ACTION_UPDATE_CATALOG) {
+                        r = catalog_update(CATALOG_DATABASE, NULL, catalog_file_dirs);
+                        if (r < 0)
+                                log_error("Failed to list catalog: %s", strerror(-r));
+                } else {
+                        bool oneline = arg_action == ACTION_LIST_CATALOG;
+
+                        if (optind < argc)
+                                r = catalog_list_items(stdout, CATALOG_DATABASE,
+                                                       oneline, argv + optind);
+                        else
+                                r = catalog_list(stdout, CATALOG_DATABASE, oneline);
+                        if (r < 0)
+                                log_error("Failed to list catalog: %s", strerror(-r));
+                }
 
-        if (arg_action == ACTION_UPDATE_CATALOG)  {
-                r = catalog_update();
                 goto finish;
         }