]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
shared/bitmap: minor modernizations
authorMike Yuan <me@yhndnzj.com>
Mon, 26 May 2025 18:01:17 +0000 (20:01 +0200)
committerMike Yuan <me@yhndnzj.com>
Mon, 26 May 2025 18:24:47 +0000 (20:24 +0200)
src/shared/bitmap.c
src/shared/bitmap.h

index d88a7895d6e69b501a96a4fa68b4f63a585dcc57..7c985a0956f93247b5f813699221792f0be38ea8 100644 (file)
@@ -123,13 +123,12 @@ bool bitmap_isset(const Bitmap *b, unsigned n) {
 }
 
 bool bitmap_isclear(const Bitmap *b) {
-        unsigned i;
 
         if (!b)
                 return true;
 
-        for (i = 0; i < b->n_bitmaps; i++)
-                if (b->bitmaps[i] != 0)
+        FOREACH_ARRAY(i, b->bitmaps, b->n_bitmaps)
+                if (*i != 0)
                         return false;
 
         return true;
@@ -181,7 +180,6 @@ bool bitmap_iterate(const Bitmap *b, Iterator *i, unsigned *n) {
 bool bitmap_equal(const Bitmap *a, const Bitmap *b) {
         size_t common_n_bitmaps;
         const Bitmap *c;
-        unsigned i;
 
         if (a == b)
                 return true;
@@ -197,7 +195,7 @@ bool bitmap_equal(const Bitmap *a, const Bitmap *b) {
                 return false;
 
         c = a->n_bitmaps > b->n_bitmaps ? a : b;
-        for (i = common_n_bitmaps; i < c->n_bitmaps; i++)
+        for (unsigned i = common_n_bitmaps; i < c->n_bitmaps; i++)
                 if (c->bitmaps[i] != 0)
                         return false;
 
index cb9a951235cb428aa8198ba59bae3e03fd496897..a12451ca0e7c5d4d4147c59bea208798231447a8 100644 (file)
@@ -16,13 +16,13 @@ Bitmap* bitmap_free(Bitmap *b);
 
 int bitmap_set(Bitmap *b, unsigned n);
 void bitmap_unset(Bitmap *b, unsigned n);
-bool bitmap_isset(const Bitmap *b, unsigned n);
-bool bitmap_isclear(const Bitmap *b);
+bool bitmap_isset(const Bitmap *b, unsigned n) _pure_;
+bool bitmap_isclear(const Bitmap *b) _pure_;
 void bitmap_clear(Bitmap *b);
 
 bool bitmap_iterate(const Bitmap *b, Iterator *i, unsigned *n);
 
-bool bitmap_equal(const Bitmap *a, const Bitmap *b);
+bool bitmap_equal(const Bitmap *a, const Bitmap *b) _pure_;
 
 #define _BITMAP_FOREACH(n, b, i) \
         for (Iterator i = {}; bitmap_iterate((b), &i, (unsigned*)&(n)); )