chiark / gitweb /
remove duplicate semicolons
[elogind.git] / src / journal / journal-gatewayd.c
index 1d0559fdb6512a6789f7367250c6c9b8a5ac46fc..35462795c2f150bd7ffc08b444a69ea9ce0cf223 100644 (file)
@@ -237,7 +237,7 @@ static ssize_t request_reader_entries(
                         m->tmp = tmpfile();
                         if (!m->tmp) {
                                 log_error("Failed to create temporary file: %m");
-                                return MHD_CONTENT_READER_END_WITH_ERROR;;
+                                return MHD_CONTENT_READER_END_WITH_ERROR;
                         }
                 }
 
@@ -416,6 +416,38 @@ static int request_parse_arguments_iterator(
                 return MHD_YES;
         }
 
+        if (streq(key, "boot")) {
+                if (isempty(value))
+                        r = true;
+                else {
+                        r = parse_boolean(value);
+                        if (r < 0) {
+                                m->argument_parse_error = r;
+                                return MHD_NO;
+                        }
+                }
+
+                if (r) {
+                        char match[9 + 32 + 1] = "_BOOT_ID=";
+                        sd_id128_t bid;
+
+                        r = sd_id128_get_boot(&bid);
+                        if (r < 0) {
+                                log_error("Failed to get boot ID: %s", strerror(-r));
+                                return MHD_NO;
+                        }
+
+                        sd_id128_to_string(bid, match + 9);
+                        r = sd_journal_add_match(m->journal, match, sizeof(match)-1);
+                        if (r < 0) {
+                                m->argument_parse_error = r;
+                                return MHD_NO;
+                        }
+                }
+
+                return MHD_YES;
+        }
+
         p = strjoin(key, "=", strempty(value), NULL);
         if (!p) {
                 m->argument_parse_error = log_oom();
@@ -571,7 +603,7 @@ static ssize_t request_reader_fields(
                         m->tmp = tmpfile();
                         if (!m->tmp) {
                                 log_error("Failed to create temporary file: %m");
-                                return MHD_CONTENT_READER_END_WITH_ERROR;;
+                                return MHD_CONTENT_READER_END_WITH_ERROR;
                         }
                 }