uid-range: use size_t for array size

This commit is contained in:
Lennart Poettering
2022-04-01 11:20:12 +02:00
parent 5b89bff55f
commit 09bbaa419b
4 changed files with 16 additions and 16 deletions
+10 -10
View File
@@ -17,12 +17,12 @@ static bool uid_range_intersect(UidRange *range, uid_t start, uid_t nr) {
range->start + range->nr >= start;
}
static void uid_range_coalesce(UidRange **p, unsigned *n) {
static void uid_range_coalesce(UidRange **p, size_t *n) {
assert(p);
assert(n);
for (unsigned i = 0; i < *n; i++) {
for (unsigned j = i + 1; j < *n; j++) {
for (size_t i = 0; i < *n; i++) {
for (size_t j = i + 1; j < *n; j++) {
UidRange *x = (*p)+i, *y = (*p)+j;
if (uid_range_intersect(x, y->start, y->nr)) {
@@ -54,7 +54,7 @@ static int uid_range_compare(const UidRange *a, const UidRange *b) {
return CMP(a->nr, b->nr);
}
int uid_range_add(UidRange **p, unsigned *n, uid_t start, uid_t nr) {
int uid_range_add(UidRange **p, size_t *n, uid_t start, uid_t nr) {
bool found = false;
UidRange *x;
@@ -64,7 +64,7 @@ int uid_range_add(UidRange **p, unsigned *n, uid_t start, uid_t nr) {
if (nr <= 0)
return 0;
for (unsigned i = 0; i < *n; i++) {
for (size_t i = 0; i < *n; i++) {
x = (*p) + i;
if (uid_range_intersect(x, start, nr)) {
found = true;
@@ -100,7 +100,7 @@ int uid_range_add(UidRange **p, unsigned *n, uid_t start, uid_t nr) {
return *n;
}
int uid_range_add_str(UidRange **p, unsigned *n, const char *s) {
int uid_range_add_str(UidRange **p, size_t *n, const char *s) {
uid_t start, nr;
const char *t;
int r;
@@ -138,7 +138,7 @@ int uid_range_add_str(UidRange **p, unsigned *n, const char *s) {
return uid_range_add(p, n, start, nr);
}
int uid_range_next_lower(const UidRange *p, unsigned n, uid_t *uid) {
int uid_range_next_lower(const UidRange *p, size_t n, uid_t *uid) {
uid_t closest = UID_INVALID, candidate;
assert(p);
@@ -146,7 +146,7 @@ int uid_range_next_lower(const UidRange *p, unsigned n, uid_t *uid) {
candidate = *uid - 1;
for (unsigned i = 0; i < n; i++) {
for (size_t i = 0; i < n; i++) {
uid_t begin, end;
begin = p[i].start;
@@ -168,11 +168,11 @@ int uid_range_next_lower(const UidRange *p, unsigned n, uid_t *uid) {
return 1;
}
bool uid_range_contains(const UidRange *p, unsigned n, uid_t uid) {
bool uid_range_contains(const UidRange *p, size_t n, uid_t uid) {
assert(p);
assert(uid);
for (unsigned i = 0; i < n; i++)
for (size_t i = 0; i < n; i++)
if (uid >= p[i].start && uid < p[i].start + p[i].nr)
return true;
+4 -4
View File
@@ -8,8 +8,8 @@ typedef struct UidRange {
uid_t start, nr;
} UidRange;
int uid_range_add(UidRange **p, unsigned *n, uid_t start, uid_t nr);
int uid_range_add_str(UidRange **p, unsigned *n, const char *s);
int uid_range_add(UidRange **p, size_t *n, uid_t start, uid_t nr);
int uid_range_add_str(UidRange **p, size_t *n, const char *s);
int uid_range_next_lower(const UidRange *p, unsigned n, uid_t *uid);
bool uid_range_contains(const UidRange *p, unsigned n, uid_t uid);
int uid_range_next_lower(const UidRange *p, size_t n, uid_t *uid);
bool uid_range_contains(const UidRange *p, size_t n, uid_t uid);
+1 -1
View File
@@ -104,7 +104,7 @@ static Set *database_users = NULL, *database_groups = NULL;
static uid_t search_uid = UID_INVALID;
static UidRange *uid_range = NULL;
static unsigned n_uid_range = 0;
static size_t n_uid_range = 0;
static UGIDAllocationRange login_defs = {};
static bool login_defs_need_warning = false;
+1 -1
View File
@@ -9,7 +9,7 @@
int main(int argc, char *argv[]) {
_cleanup_free_ UidRange *p = NULL;
unsigned n = 0;
size_t n = 0;
uid_t search;
assert_se(uid_range_add_str(&p, &n, "500-999") >= 0);