X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=src%2Fshared%2Fbitmap.c;h=9aa766139bb05c232f13233c19e42f423353cfea;hb=HEAD;hp=5d450c8832e94eec65f83a04d14c59b46fbd69ce;hpb=b8aac5014c7dec215bac42007be2ee6ded0d5c56;p=thirdparty%2Fsystemd.git diff --git a/src/shared/bitmap.c b/src/shared/bitmap.c index 5d450c8832e..9aa766139bb 100644 --- a/src/shared/bitmap.c +++ b/src/shared/bitmap.c @@ -18,17 +18,17 @@ #define BITMAPS_MAX_ENTRY 0xffff /* This indicates that we reached the end of the bitmap */ -#define BITMAP_END ((unsigned) -1) +#define BITMAP_END (UINT_MAX) #define BITMAP_NUM_TO_OFFSET(n) ((n) / (sizeof(uint64_t) * 8)) #define BITMAP_NUM_TO_REM(n) ((n) % (sizeof(uint64_t) * 8)) #define BITMAP_OFFSET_TO_NUM(offset, rem) ((offset) * sizeof(uint64_t) * 8 + (rem)) -Bitmap *bitmap_new(void) { +Bitmap* bitmap_new(void) { return new0(Bitmap, 1); } -Bitmap *bitmap_copy(Bitmap *b) { +Bitmap* bitmap_copy(Bitmap *b) { Bitmap *ret; ret = bitmap_new(); @@ -39,16 +39,16 @@ Bitmap *bitmap_copy(Bitmap *b) { if (!ret->bitmaps) return mfree(ret); - ret->n_bitmaps = ret->bitmaps_allocated = b->n_bitmaps; + ret->n_bitmaps = b->n_bitmaps; return ret; } -void bitmap_free(Bitmap *b) { +Bitmap* bitmap_free(Bitmap *b) { if (!b) - return; + return NULL; free(b->bitmaps); - free(b); + return mfree(b); } int bitmap_ensure_allocated(Bitmap **b) { @@ -81,7 +81,7 @@ int bitmap_set(Bitmap *b, unsigned n) { offset = BITMAP_NUM_TO_OFFSET(n); if (offset >= b->n_bitmaps) { - if (!GREEDY_REALLOC0(b->bitmaps, b->bitmaps_allocated, offset + 1)) + if (!GREEDY_REALLOC0(b->bitmaps, offset + 1)) return -ENOMEM; b->n_bitmaps = offset + 1; @@ -147,7 +147,6 @@ void bitmap_clear(Bitmap *b) { b->bitmaps = mfree(b->bitmaps); b->n_bitmaps = 0; - b->bitmaps_allocated = 0; } bool bitmap_iterate(const Bitmap *b, Iterator *i, unsigned *n) { @@ -164,9 +163,9 @@ bool bitmap_iterate(const Bitmap *b, Iterator *i, unsigned *n) { rem = BITMAP_NUM_TO_REM(i->idx); bitmask = UINT64_C(1) << rem; - for (; offset < b->n_bitmaps; offset ++) { + for (; offset < b->n_bitmaps; offset++) { if (b->bitmaps[offset]) { - for (; bitmask; bitmask <<= 1, rem ++) { + for (; bitmask; bitmask <<= 1, rem++) { if (b->bitmaps[offset] & bitmask) { *n = BITMAP_OFFSET_TO_NUM(offset, rem); i->idx = *n + 1;