]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
tmpfiles: inline variable declarations, use FOREACH_ARRAY and RET_GATHER
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Sun, 3 Dec 2023 18:53:51 +0000 (19:53 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Fri, 9 Feb 2024 16:57:41 +0000 (17:57 +0100)
src/tmpfiles/tmpfiles.c

index a2eb05c6a633c4c248cd806de8e028601a6fa759..ab9ea2768af1983deb5010e8648943d54a1ab24f 100644 (file)
@@ -449,17 +449,10 @@ static bool takes_ownership(ItemType t) {
 static struct Item* find_glob(OrderedHashmap *h, const char *match) {
         ItemArray *j;
 
-        ORDERED_HASHMAP_FOREACH(j, h) {
-                size_t n;
-
-                for (n = 0; n < j->n_items; n++) {
-                        Item *item = j->items + n;
-
+        ORDERED_HASHMAP_FOREACH(j, h)
+                FOREACH_ARRAY(item, j->items, j->n_items)
                         if (fnmatch(item->path, match, FNM_PATHNAME|FNM_PERIOD) == 0)
                                 return item;
-                }
-        }
-
         return NULL;
 }
 
@@ -3121,7 +3114,6 @@ static int process_item_array(
                 OperationMask operation) {
 
         int r = 0;
-        size_t n;
 
         assert(c);
         assert(array);
@@ -3134,22 +3126,12 @@ static int process_item_array(
         if ((operation & (OPERATION_REMOVE|OPERATION_CLEAN|OPERATION_PURGE)) && !set_isempty(array->children)) {
                 ItemArray *cc;
 
-                SET_FOREACH(cc, array->children) {
-                        int k;
-
-                        k = process_item_array(c, cc, operation & (OPERATION_REMOVE|OPERATION_CLEAN|OPERATION_PURGE));
-                        if (k < 0 && r == 0)
-                                r = k;
-                }
+                SET_FOREACH(cc, array->children)
+                        RET_GATHER(r, process_item_array(c, cc, operation & (OPERATION_REMOVE|OPERATION_CLEAN|OPERATION_PURGE)));
         }
 
-        for (n = 0; n < array->n_items; n++) {
-                int k;
-
-                k = process_item(c, array->items + n, operation);
-                if (k < 0 && r == 0)
-                        r = k;
-        }
+        FOREACH_ARRAY(item, array->items, array->n_items)
+                RET_GATHER(r, process_item(c, item, operation));
 
         return r;
 }
@@ -3174,13 +3156,11 @@ static void item_free_contents(Item *i) {
 }
 
 static ItemArray* item_array_free(ItemArray *a) {
-        size_t n;
-
         if (!a)
                 return NULL;
 
-        for (n = 0; n < a->n_items; n++)
-                item_free_contents(a->items + n);
+        FOREACH_ARRAY(item, a->items, a->n_items)
+                item_free_contents(item);
 
         set_free(a->children);
         free(a->items);
@@ -3443,13 +3423,10 @@ static int parse_age_by_from_arg(const char *age_by_str, Item *item) {
 }
 
 static bool is_duplicated_item(ItemArray *existing, const Item *i) {
-
         assert(existing);
         assert(i);
 
-        for (size_t n = 0; n < existing->n_items; n++) {
-                const Item *e = existing->items + n;
-
+        FOREACH_ARRAY(e, existing->items, existing->n_items) {
                 if (item_compatible(e, i))
                         continue;
 
@@ -3478,9 +3455,9 @@ static int parse_line(
         };
         ItemArray *existing;
         OrderedHashmap *h;
-        int r, pos;
         bool append_or_force = false, boot = false, allow_failure = false, try_replace = false,
                 unbase64 = false, from_cred = false, missing_user_or_group = false;
+        int r;
 
         assert(fname);
         assert(line >= 1);
@@ -3542,7 +3519,7 @@ static int parse_line(
                 return log_syntax(NULL, LOG_ERR, fname, line, SYNTHETIC_ERRNO(EBADMSG), "Command too short '%s'.", action);
         }
 
-        for (pos = 1; action[pos]; pos++) {
+        for (int pos = 1; action[pos]; pos++)
                 if (action[pos] == '!' && !boot)
                         boot = true;
                 else if (action[pos] == '+' && !append_or_force)
@@ -3559,7 +3536,6 @@ static int parse_line(
                         *invalid_config = true;
                         return log_syntax(NULL, LOG_ERR, fname, line, SYNTHETIC_ERRNO(EBADMSG), "Unknown modifiers in command '%s'", action);
                 }
-        }
 
         if (boot && !arg_boot) {
                 log_syntax(NULL, LOG_DEBUG, fname, line, 0, "Ignoring entry %s \"%s\" because --boot is not specified.", action, path);
@@ -3864,14 +3840,13 @@ static int parse_line(
                 const char *mm;
                 unsigned m;
 
-                for (mm = mode;; mm++) {
+                for (mm = mode;; mm++)
                         if (*mm == '~')
                                 i.mask_perms = true;
                         else if (*mm == ':')
                                 i.mode_only_create = true;
                         else
                                 break;
-                }
 
                 r = parse_mode(mm, &m);
                 if (r < 0) {
@@ -4238,17 +4213,15 @@ static int read_config_file(
 
         /* we have to determine age parameter for each entry of type X */
         ORDERED_HASHMAP_FOREACH(ia, c->globs)
-                for (size_t ni = 0; ni < ia->n_items; ni++) {
+                FOREACH_ARRAY(i, ia->items, ia->n_items) {
                         ItemArray *ja;
-                        Item *i = ia->items + ni, *candidate_item = NULL;
+                        Item *candidate_item = NULL;
 
                         if (i->type != IGNORE_DIRECTORY_PATH)
                                 continue;
 
                         ORDERED_HASHMAP_FOREACH(ja, c->items)
-                                for (size_t nj = 0; nj < ja->n_items; nj++) {
-                                        Item *j = ja->items + nj;
-
+                                FOREACH_ARRAY(j, ja->items, ja->n_items) {
                                         if (!IN_SET(j->type, CREATE_DIRECTORY,
                                                              TRUNCATE_DIRECTORY,
                                                              CREATE_SUBVOLUME,