]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - src/core/load-fragment.c
shared/exit-status: use Bitmap instead of Sets
[thirdparty/systemd.git] / src / core / load-fragment.c
index 3288b0b83885c2fb07631705e0d126e615c32cc6..ecea4f526a4d2444526d63cd7d331b5018c7965a 100644 (file)
@@ -3937,7 +3937,7 @@ int config_parse_set_status(
         FOREACH_WORD(word, l, rvalue, state) {
                 _cleanup_free_ char *temp;
                 int val;
-                Set **set;
+                Bitmap *bitmap;
 
                 temp = strndup(word, l);
                 if (!temp)
@@ -3951,20 +3951,16 @@ int config_parse_set_status(
                                 log_syntax(unit, LOG_ERR, filename, line, 0, "Failed to parse value, ignoring: %s", word);
                                 continue;
                         }
-                        set = &status_set->signal;
+                        bitmap = &status_set->signal;
                 } else {
                         if (val < 0 || val > 255) {
                                 log_syntax(unit, LOG_ERR, filename, line, 0, "Value %d is outside range 0-255, ignoring", val);
                                 continue;
                         }
-                        set = &status_set->status;
+                        bitmap = &status_set->status;
                 }
 
-                r = set_ensure_allocated(set, NULL);
-                if (r < 0)
-                        return log_oom();
-
-                r = set_put(*set, INT_TO_PTR(val));
+                r = bitmap_set(bitmap, val);
                 if (r < 0)
                         return log_oom();
         }