tree-wide: be more careful with the type of array sizes

Previously we were a bit sloppy with the index and size types of arrays,
we'd regularly use unsigned. While I don't think this ever resulted in
real issues I think we should be more careful there and follow a
stricter regime: unless there's a strong reason not to use size_t for
array sizes and indexes, size_t it should be. Any allocations we do
ultimately will use size_t anyway, and converting forth and back between
unsigned and size_t will always be a source of problems.

Note that on 32bit machines "unsigned" and "size_t" are equivalent, and
on 64bit machines our arrays shouldn't grow that large anyway, and if
they do we have a problem, however that kind of overly large allocation
we have protections for usually, but for overflows we do not have that
so much, hence let's add it.

So yeah, it's a story of the current code being already "good enough",
but I think some extra type hygiene is better.

This patch tries to be comprehensive, but it probably isn't and I missed
a few cases. But I guess we can cover that later as we notice it. Among
smaller fixes, this changes:

1. strv_length()' return type becomes size_t

2. the unit file changes array size becomes size_t

3. DNS answer and query array sizes become size_t

Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=76745
This commit is contained in:
Lennart Poettering 2018-04-27 14:09:31 +02:00
parent 545673d4b0
commit da6053d0a7
57 changed files with 288 additions and 290 deletions

View File

@ -116,11 +116,11 @@ static int open_sockets(int *epoll_fd, bool accept) {
return count;
}
static int exec_process(const char* name, char **argv, char **env, int start_fd, int n_fds) {
static int exec_process(const char* name, char **argv, char **env, int start_fd, size_t n_fds) {
_cleanup_strv_free_ char **envp = NULL;
_cleanup_free_ char *joined = NULL;
unsigned n_env = 0, length;
size_t n_env = 0, length;
const char *tocopy;
char **s;
int r;
@ -199,7 +199,7 @@ static int exec_process(const char* name, char **argv, char **env, int start_fd,
start_fd = SD_LISTEN_FDS_START;
}
if (asprintf((char**)(envp + n_env++), "LISTEN_FDS=%i", n_fds) < 0)
if (asprintf((char**)(envp + n_env++), "LISTEN_FDS=%zu", n_fds) < 0)
return log_oom();
if (asprintf((char**)(envp + n_env++), "LISTEN_PID=" PID_FMT, getpid_cached()) < 0)
@ -209,18 +209,18 @@ static int exec_process(const char* name, char **argv, char **env, int start_fd,
_cleanup_free_ char *names = NULL;
size_t len;
char *e;
int i;
len = strv_length(arg_fdnames);
if (len == 1)
if (len == 1) {
size_t i;
for (i = 1; i < n_fds; i++) {
r = strv_extend(&arg_fdnames, arg_fdnames[0]);
if (r < 0)
return log_error_errno(r, "Failed to extend strv: %m");
}
else if (len != (unsigned) n_fds)
log_warning("The number of fd names is different than number of fds: %zu vs %d",
len, n_fds);
} else if (len != n_fds)
log_warning("The number of fd names is different than number of fds: %zu vs %zu", len, n_fds);
names = strv_join(arg_fdnames, ":");
if (!names)
@ -501,7 +501,7 @@ int main(int argc, char **argv, char **envp) {
break;
}
exec_process(argv[optind], argv + optind, envp, SD_LISTEN_FDS_START, n);
exec_process(argv[optind], argv + optind, envp, SD_LISTEN_FDS_START, (size_t) n);
return EXIT_SUCCESS;
}

View File

@ -84,8 +84,8 @@ static int component_compare(const void *_a, const void *_b) {
}
static void normalize_chain(CalendarComponent **c) {
unsigned n = 0, k;
CalendarComponent **b, *i, **j, *next;
size_t n = 0, k;
assert(c);
@ -420,7 +420,7 @@ static int parse_weekdays(const char **p, CalendarSpec *c) {
assert(c);
for (;;) {
unsigned i;
size_t i;
for (i = 0; i < ELEMENTSOF(day_nr); i++) {
size_t skip;

View File

@ -152,8 +152,8 @@ int conf_files_insert(char ***strv, const char *root, char **dirs, const char *p
* - do nothing if our new entry matches the existing entry,
* - replace the existing entry if our new entry has higher priority.
*/
size_t i;
char *t;
unsigned i;
int r;
for (i = 0; i < strv_length(*strv); i++) {

View File

@ -196,11 +196,11 @@ static int env_append(char **r, char ***k, char **a) {
return 0;
}
char **strv_env_merge(unsigned n_lists, ...) {
char **strv_env_merge(size_t n_lists, ...) {
size_t n = 0;
char **l, **k, **r;
va_list ap;
unsigned i;
size_t i;
/* Merges an arbitrary number of environment sets */
@ -275,7 +275,7 @@ static bool env_entry_has_name(const char *entry, const char *name) {
return *t == '=';
}
char **strv_env_delete(char **x, unsigned n_lists, ...) {
char **strv_env_delete(char **x, size_t n_lists, ...) {
size_t n, i = 0;
char **k, **r;
va_list ap;
@ -290,7 +290,7 @@ char **strv_env_delete(char **x, unsigned n_lists, ...) {
return NULL;
STRV_FOREACH(k, x) {
unsigned v;
size_t v;
va_start(ap, n_lists);
for (v = 0; v < n_lists; v++) {
@ -676,7 +676,7 @@ char *replace_env_n(const char *format, size_t n, char **env, unsigned flags) {
char **replace_env_argv(char **argv, char **env) {
char **ret, **i;
unsigned k = 0, l = 0;
size_t k = 0, l = 0;
l = strv_length(argv);
@ -690,7 +690,7 @@ char **replace_env_argv(char **argv, char **env) {
if ((*i)[0] == '$' && !IN_SET((*i)[1], '{', '$')) {
char *e;
char **w, **m = NULL;
unsigned q;
size_t q;
e = strv_env_get(env, *i+1);
if (e) {

View File

@ -37,8 +37,8 @@ char **strv_env_clean_with_callback(char **l, void (*invalid_callback)(const cha
bool strv_env_name_is_valid(char **l);
bool strv_env_name_or_assignment_is_valid(char **l);
char **strv_env_merge(unsigned n_lists, ...);
char **strv_env_delete(char **x, unsigned n_lists, ...); /* New copy */
char **strv_env_merge(size_t n_lists, ...);
char **strv_env_delete(char **x, size_t n_lists, ...); /* New copy */
char **strv_env_set(char **x, const char *p); /* New copy ... */
char **strv_env_unset(char **l, const char *p); /* In place ... */

View File

@ -188,7 +188,7 @@ int cunescape_one(const char *p, size_t length, char32_t *ret, bool *eight_bit)
/* C++11 style 16bit unicode */
int a[4];
unsigned i;
size_t i;
uint32_t c;
if (length != (size_t) -1 && length < 5)
@ -215,7 +215,7 @@ int cunescape_one(const char *p, size_t length, char32_t *ret, bool *eight_bit)
/* C++11 style 32bit unicode */
int a[8];
unsigned i;
size_t i;
char32_t c;
if (length != (size_t) -1 && length < 9)

View File

@ -85,8 +85,8 @@ void safe_close_pair(int p[]) {
p[1] = safe_close(p[1]);
}
void close_many(const int fds[], unsigned n_fd) {
unsigned i;
void close_many(const int fds[], size_t n_fd) {
size_t i;
assert(fds || n_fd <= 0);
@ -178,8 +178,8 @@ int fd_cloexec(int fd, bool cloexec) {
return 0;
}
_pure_ static bool fd_in_set(int fd, const int fdset[], unsigned n_fdset) {
unsigned i;
_pure_ static bool fd_in_set(int fd, const int fdset[], size_t n_fdset) {
size_t i;
assert(n_fdset == 0 || fdset);
@ -190,7 +190,7 @@ _pure_ static bool fd_in_set(int fd, const int fdset[], unsigned n_fdset) {
return false;
}
int close_all_fds(const int except[], unsigned n_except) {
int close_all_fds(const int except[], size_t n_except) {
_cleanup_closedir_ DIR *d = NULL;
struct dirent *de;
int r = 0;

View File

@ -29,7 +29,7 @@ static inline int safe_close_above_stdio(int fd) {
return safe_close(fd);
}
void close_many(const int fds[], unsigned n_fd);
void close_many(const int fds[], size_t n_fd);
int fclose_nointr(FILE *f);
FILE* safe_fclose(FILE *f);
@ -59,7 +59,7 @@ DEFINE_TRIVIAL_CLEANUP_FUNC(DIR*, closedir);
int fd_nonblock(int fd, bool nonblock);
int fd_cloexec(int fd, bool cloexec);
int close_all_fds(const int except[], unsigned n_except);
int close_all_fds(const int except[], size_t n_except);
int same_fd(int a, int b);

View File

@ -28,9 +28,8 @@ int fd_wait_for_event(int fd, int event, usec_t timeout);
ssize_t sparse_write(int fd, const void *p, size_t sz, size_t run_length);
static inline size_t IOVEC_TOTAL_SIZE(const struct iovec *i, unsigned n) {
unsigned j;
size_t r = 0;
static inline size_t IOVEC_TOTAL_SIZE(const struct iovec *i, size_t n) {
size_t j, r = 0;
for (j = 0; j < n; j++)
r += i[j].iov_len;
@ -38,8 +37,8 @@ static inline size_t IOVEC_TOTAL_SIZE(const struct iovec *i, unsigned n) {
return r;
}
static inline size_t IOVEC_INCREMENT(struct iovec *i, unsigned n, size_t k) {
unsigned j;
static inline size_t IOVEC_INCREMENT(struct iovec *i, size_t n, size_t k) {
size_t j;
for (j = 0; j < n; j++) {
size_t sub;

View File

@ -71,7 +71,7 @@ static int add_locales_from_archive(Set *locales) {
_cleanup_close_ int fd = -1;
size_t sz = 0;
struct stat st;
unsigned i;
size_t i;
int r;
fd = open("/usr/lib/locale/locale-archive", O_RDONLY|O_NOCTTY|O_CLOEXEC);

View File

@ -341,8 +341,8 @@ static int write_to_console(
char location[256], prefix[1 + DECIMAL_STR_MAX(int) + 2];
struct iovec iovec[6] = {};
unsigned n = 0;
bool highlight;
size_t n = 0;
if (console_fd < 0)
return 0;

View File

@ -15,12 +15,12 @@
struct pool {
struct pool *next;
unsigned n_tiles;
unsigned n_used;
size_t n_tiles;
size_t n_used;
};
void* mempool_alloc_tile(struct mempool *mp) {
unsigned i;
size_t i;
/* When a tile is released we add it to the list and simply
* place the next pointer at its offset 0. */
@ -38,8 +38,7 @@ void* mempool_alloc_tile(struct mempool *mp) {
if (_unlikely_(!mp->first_pool) ||
_unlikely_(mp->first_pool->n_used >= mp->first_pool->n_tiles)) {
unsigned n;
size_t size;
size_t size, n;
struct pool *p;
n = mp->first_pool ? mp->first_pool->n_tiles : 0;

View File

@ -880,7 +880,7 @@ int getenv_for_pid(pid_t pid, const char *field, char **ret) {
do {
char line[LINE_MAX];
unsigned i;
size_t i;
for (i = 0; i < sizeof(line)-1; i++) {
int c;
@ -1375,9 +1375,9 @@ int safe_fork_full(
return 0;
}
int fork_agent(const char *name, const int except[], unsigned n_except, pid_t *ret_pid, const char *path, ...) {
int fork_agent(const char *name, const int except[], size_t n_except, pid_t *ret_pid, const char *path, ...) {
bool stdout_is_tty, stderr_is_tty;
unsigned n, i;
size_t n, i;
va_list ap;
char **l;
int r;

View File

@ -171,7 +171,7 @@ static inline int safe_fork(const char *name, ForkFlags flags, pid_t *ret_pid) {
return safe_fork_full(name, NULL, 0, flags, ret_pid);
}
int fork_agent(const char *name, const int except[], unsigned n_except, pid_t *pid, const char *path, ...);
int fork_agent(const char *name, const int except[], size_t n_except, pid_t *pid, const char *path, ...);
#if SIZEOF_PID_T == 4
/* The highest possibly (theoretic) pid_t value on this architecture. */

View File

@ -35,7 +35,7 @@ int acquire_random_bytes(void *p, size_t n, bool high_quality_required) {
static int have_syscall = -1;
_cleanup_close_ int fd = -1;
unsigned already_done = 0;
size_t already_done = 0;
int r;
/* Gathers some randomness from the kernel. This call will never block. If

View File

@ -109,7 +109,7 @@ char *strjoin_real(const char *x, ...) _sentinel_;
const char *_appendees_[] = { a, __VA_ARGS__ }; \
char *_d_, *_p_; \
size_t _len_ = 0; \
unsigned _i_; \
size_t _i_; \
for (_i_ = 0; _i_ < ELEMENTSOF(_appendees_) && _appendees_[_i_]; _i_++) \
_len_ += strlen(_appendees_[_i_]); \
_p_ = _d_ = alloca(_len_ + 1); \

View File

@ -107,8 +107,8 @@ char **strv_copy(char * const *l) {
return r;
}
unsigned strv_length(char * const *l) {
unsigned n = 0;
size_t strv_length(char * const *l) {
size_t n = 0;
if (!l)
return 0;
@ -122,7 +122,7 @@ unsigned strv_length(char * const *l) {
char **strv_new_ap(const char *x, va_list ap) {
const char *s;
char **a;
unsigned n = 0, i = 0;
size_t n = 0, i = 0;
va_list aq;
/* As a special trick we ignore all listed strings that equal
@ -257,7 +257,7 @@ int strv_extend_strv_concat(char ***a, char **b, const char *suffix) {
char **strv_split(const char *s, const char *separator) {
const char *word, *state;
size_t l;
unsigned n, i;
size_t n, i;
char **r;
assert(s);
@ -287,7 +287,7 @@ char **strv_split(const char *s, const char *separator) {
char **strv_split_newlines(const char *s) {
char **l;
unsigned n;
size_t n;
assert(s);
@ -380,7 +380,7 @@ char *strv_join(char **l, const char *separator) {
int strv_push(char ***l, char *value) {
char **c;
unsigned n, m;
size_t n, m;
if (!value)
return 0;
@ -405,7 +405,7 @@ int strv_push(char ***l, char *value) {
int strv_push_pair(char ***l, char *a, char *b) {
char **c;
unsigned n, m;
size_t n, m;
if (!a && !b)
return 0;
@ -431,9 +431,9 @@ int strv_push_pair(char ***l, char *a, char *b) {
return 0;
}
int strv_insert(char ***l, unsigned position, char *value) {
int strv_insert(char ***l, size_t position, char *value) {
char **c;
unsigned n, m, i;
size_t n, m, i;
if (!value)
return 0;
@ -601,7 +601,7 @@ char **strv_parse_nulstr(const char *s, size_t l) {
*/
const char *p;
unsigned c = 0, i = 0;
size_t c = 0, i = 0;
char **v;
assert(s || l <= 0);
@ -765,7 +765,7 @@ int strv_extendf(char ***l, const char *format, ...) {
}
char **strv_reverse(char **l) {
unsigned n, i;
size_t n, i;
n = strv_length(l);
if (n <= 1)

View File

@ -32,7 +32,7 @@ DEFINE_TRIVIAL_CLEANUP_FUNC(char**, strv_free_erase);
void strv_clear(char **l);
char **strv_copy(char * const *l);
unsigned strv_length(char * const *l) _pure_;
size_t strv_length(char * const *l) _pure_;
int strv_extend_strv(char ***a, char **b, bool filter_duplicates);
int strv_extend_strv_concat(char ***a, char **b, const char *suffix);
@ -41,7 +41,7 @@ int strv_extendf(char ***l, const char *format, ...) _printf_(2,0);
int strv_extend_front(char ***l, const char *value);
int strv_push(char ***l, char *value);
int strv_push_pair(char ***l, char *a, char *b);
int strv_insert(char ***l, unsigned position, char *value);
int strv_insert(char ***l, size_t position, char *value);
static inline int strv_push_prepend(char ***l, char *value) {
return strv_insert(l, 0, value);
@ -113,7 +113,7 @@ void strv_print(char **l);
if (!first) \
_l = (char**) &first; \
else { \
unsigned _n; \
size_t _n; \
va_list _ap; \
\
_n = 1; \

View File

@ -434,7 +434,7 @@ char *format_timespan(char *buf, size_t l, usec_t t, usec_t accuracy) {
{ "us", 1 },
};
unsigned i;
size_t i;
char *p = buf;
bool something = false;
@ -612,7 +612,7 @@ static int parse_timestamp_impl(const char *t, usec_t *usec, bool with_tz) {
time_t x;
usec_t x_usec, plus = 0, minus = 0, ret;
int r, weekday = -1, dst = -1;
unsigned i;
size_t i;
/*
* Allowed syntaxes:
@ -960,7 +960,7 @@ static char* extract_multiplier(char *p, usec_t *multiplier) {
{ "us", 1ULL },
{ "µs", 1ULL },
};
unsigned i;
size_t i;
for (i = 0; i < ELEMENTSOF(table); i++) {
char *e;
@ -1134,8 +1134,8 @@ int parse_nsec(const char *t, nsec_t *nsec) {
for (;;) {
long long l, z = 0;
size_t n = 0, i;
char *e;
unsigned i, n = 0;
p += strspn(p, WHITESPACE);

View File

@ -1972,9 +1972,10 @@ static int install_error(
sd_bus_error *error,
int c,
UnitFileChange *changes,
unsigned n_changes) {
size_t n_changes) {
size_t i;
int r;
unsigned i;
for (i = 0; i < n_changes; i++)
@ -2030,12 +2031,12 @@ static int reply_unit_file_changes_and_free(
sd_bus_message *message,
int carries_install_info,
UnitFileChange *changes,
unsigned n_changes,
size_t n_changes,
sd_bus_error *error) {
_cleanup_(sd_bus_message_unrefp) sd_bus_message *reply = NULL;
bool bad = false, good = false;
unsigned i;
size_t i;
int r;
if (unit_file_changes_have_modification(changes, n_changes)) {
@ -2096,13 +2097,13 @@ fail:
static int method_enable_unit_files_generic(
sd_bus_message *message,
Manager *m,
int (*call)(UnitFileScope scope, UnitFileFlags flags, const char *root_dir, char *files[], UnitFileChange **changes, unsigned *n_changes),
int (*call)(UnitFileScope scope, UnitFileFlags flags, const char *root_dir, char *files[], UnitFileChange **changes, size_t *n_changes),
bool carries_install_info,
sd_bus_error *error) {
_cleanup_strv_free_ char **l = NULL;
UnitFileChange *changes = NULL;
unsigned n_changes = 0;
size_t n_changes = 0;
UnitFileFlags flags;
int runtime, force, r;
@ -2144,7 +2145,7 @@ static int method_link_unit_files(sd_bus_message *message, void *userdata, sd_bu
return method_enable_unit_files_generic(message, userdata, unit_file_link, false, error);
}
static int unit_file_preset_without_mode(UnitFileScope scope, UnitFileFlags flags, const char *root_dir, char **files, UnitFileChange **changes, unsigned *n_changes) {
static int unit_file_preset_without_mode(UnitFileScope scope, UnitFileFlags flags, const char *root_dir, char **files, UnitFileChange **changes, size_t *n_changes) {
return unit_file_preset(scope, flags, root_dir, files, UNIT_FILE_PRESET_FULL, changes, n_changes);
}
@ -2160,7 +2161,7 @@ static int method_preset_unit_files_with_mode(sd_bus_message *message, void *use
_cleanup_strv_free_ char **l = NULL;
UnitFileChange *changes = NULL;
unsigned n_changes = 0;
size_t n_changes = 0;
Manager *m = userdata;
UnitFilePresetMode mm;
int runtime, force, r;
@ -2204,12 +2205,12 @@ static int method_preset_unit_files_with_mode(sd_bus_message *message, void *use
static int method_disable_unit_files_generic(
sd_bus_message *message,
Manager *m,
int (*call)(UnitFileScope scope, UnitFileFlags flags, const char *root_dir, char *files[], UnitFileChange **changes, unsigned *n_changes),
int (*call)(UnitFileScope scope, UnitFileFlags flags, const char *root_dir, char *files[], UnitFileChange **changes, size_t *n_changes),
sd_bus_error *error) {
_cleanup_strv_free_ char **l = NULL;
UnitFileChange *changes = NULL;
unsigned n_changes = 0;
size_t n_changes = 0;
int r, runtime;
assert(message);
@ -2247,7 +2248,7 @@ static int method_unmask_unit_files(sd_bus_message *message, void *userdata, sd_
static int method_revert_unit_files(sd_bus_message *message, void *userdata, sd_bus_error *error) {
_cleanup_strv_free_ char **l = NULL;
UnitFileChange *changes = NULL;
unsigned n_changes = 0;
size_t n_changes = 0;
Manager *m = userdata;
int r;
@ -2273,7 +2274,7 @@ static int method_revert_unit_files(sd_bus_message *message, void *userdata, sd_
static int method_set_default_target(sd_bus_message *message, void *userdata, sd_bus_error *error) {
UnitFileChange *changes = NULL;
unsigned n_changes = 0;
size_t n_changes = 0;
Manager *m = userdata;
const char *name;
int force, r;
@ -2304,7 +2305,7 @@ static int method_set_default_target(sd_bus_message *message, void *userdata, sd
static int method_preset_all_unit_files(sd_bus_message *message, void *userdata, sd_bus_error *error) {
UnitFileChange *changes = NULL;
unsigned n_changes = 0;
size_t n_changes = 0;
Manager *m = userdata;
UnitFilePresetMode mm;
const char *mode;
@ -2349,7 +2350,7 @@ static int method_add_dependency_unit_files(sd_bus_message *message, void *userd
_cleanup_strv_free_ char **l = NULL;
Manager *m = userdata;
UnitFileChange *changes = NULL;
unsigned n_changes = 0;
size_t n_changes = 0;
int runtime, force, r;
char *target, *type;
UnitDependency dep;
@ -2388,7 +2389,7 @@ static int method_add_dependency_unit_files(sd_bus_message *message, void *userd
static int method_get_unit_file_links(sd_bus_message *message, void *userdata, sd_bus_error *error) {
_cleanup_(sd_bus_message_unrefp) sd_bus_message *reply = NULL;
UnitFileChange *changes = NULL;
unsigned n_changes = 0, i;
size_t n_changes = 0, i;
UnitFileFlags flags;
const char *name;
char **p;

View File

@ -106,7 +106,7 @@
#define SNDBUF_SIZE (8*1024*1024)
static int shift_fds(int fds[], unsigned n_fds) {
static int shift_fds(int fds[], size_t n_fds) {
int start, restart_from;
if (n_fds <= 0)
@ -151,8 +151,8 @@ static int shift_fds(int fds[], unsigned n_fds) {
return 0;
}
static int flags_fds(const int fds[], unsigned n_storage_fds, unsigned n_socket_fds, bool nonblock) {
unsigned i, n_fds;
static int flags_fds(const int fds[], size_t n_storage_fds, size_t n_socket_fds, bool nonblock) {
size_t i, n_fds;
int r;
n_fds = n_storage_fds + n_socket_fds;
@ -1113,7 +1113,7 @@ static int setup_pam(
gid_t gid,
const char *tty,
char ***env,
int fds[], unsigned n_fds) {
int fds[], size_t n_fds) {
#if HAVE_PAM
@ -1596,7 +1596,7 @@ static int build_environment(
const Unit *u,
const ExecContext *c,
const ExecParameters *p,
unsigned n_fds,
size_t n_fds,
const char *home,
const char *username,
const char *shell,
@ -1605,7 +1605,7 @@ static int build_environment(
char ***ret) {
_cleanup_strv_free_ char **our_env = NULL;
unsigned n_env = 0;
size_t n_env = 0;
char *x;
assert(u);
@ -1623,7 +1623,7 @@ static int build_environment(
return -ENOMEM;
our_env[n_env++] = x;
if (asprintf(&x, "LISTEN_FDS=%u", n_fds) < 0)
if (asprintf(&x, "LISTEN_FDS=%zu", n_fds) < 0)
return -ENOMEM;
our_env[n_env++] = x;
@ -2152,12 +2152,12 @@ static int compile_bind_mounts(
const ExecContext *context,
const ExecParameters *params,
BindMount **ret_bind_mounts,
unsigned *ret_n_bind_mounts,
size_t *ret_n_bind_mounts,
char ***ret_empty_directories) {
_cleanup_strv_free_ char **empty_directories = NULL;
BindMount *bind_mounts;
unsigned n, h = 0, i;
size_t n, h = 0, i;
ExecDirectoryType t;
int r;
@ -2303,7 +2303,7 @@ static int apply_mount_namespace(
};
bool needs_sandboxing;
BindMount *bind_mounts = NULL;
unsigned n_bind_mounts = 0;
size_t n_bind_mounts = 0;
int r;
assert(context);
@ -2526,7 +2526,7 @@ out:
return r;
}
static void append_socket_pair(int *array, unsigned *n, const int pair[2]) {
static void append_socket_pair(int *array, size_t *n, const int pair[2]) {
assert(array);
assert(n);
@ -2545,9 +2545,9 @@ static int close_remaining_fds(
const DynamicCreds *dcreds,
int user_lookup_fd,
int socket_fd,
int *fds, unsigned n_fds) {
int *fds, size_t n_fds) {
unsigned n_dont_close = 0;
size_t n_dont_close = 0;
int dont_close[n_fds + 12];
assert(params);
@ -2697,8 +2697,8 @@ static int exec_child(
int socket_fd,
int named_iofds[3],
int *fds,
unsigned n_storage_fds,
unsigned n_socket_fds,
size_t n_storage_fds,
size_t n_socket_fds,
char **files_env,
int user_lookup_fd,
int *exit_status) {
@ -2727,7 +2727,7 @@ static int exec_child(
uid_t uid = UID_INVALID;
gid_t gid = GID_INVALID;
int i, r, ngids = 0;
unsigned n_fds;
size_t n_fds;
ExecDirectoryType dt;
int secure_bits;
@ -3433,7 +3433,7 @@ int exec_spawn(Unit *unit,
_cleanup_strv_free_ char **files_env = NULL;
int *fds = NULL;
unsigned n_storage_fds = 0, n_socket_fds = 0;
size_t n_storage_fds = 0, n_socket_fds = 0;
_cleanup_free_ char *line = NULL;
int socket_fd, r;
int named_iofds[3] = { -1, -1, -1 };
@ -3658,8 +3658,8 @@ static void exec_command_done(ExecCommand *c) {
c->argv = strv_free(c->argv);
}
void exec_command_done_array(ExecCommand *c, unsigned n) {
unsigned i;
void exec_command_done_array(ExecCommand *c, size_t n) {
size_t i;
for (i = 0; i < n; i++)
exec_command_done(c+i);
@ -3677,8 +3677,8 @@ ExecCommand* exec_command_free_list(ExecCommand *c) {
return NULL;
}
void exec_command_free_array(ExecCommand **c, unsigned n) {
unsigned i;
void exec_command_free_array(ExecCommand **c, size_t n) {
size_t i;
for (i = 0; i < n; i++)
c[i] = exec_command_free_list(c[i]);
@ -3724,9 +3724,9 @@ const char* exec_context_fdname(const ExecContext *c, int fd_index) {
}
static int exec_context_named_iofds(const ExecContext *c, const ExecParameters *p, int named_iofds[3]) {
unsigned i, targets;
size_t i, targets;
const char* stdio_fdname[3];
unsigned n_fds;
size_t n_fds;
assert(c);
assert(p);

View File

@ -205,9 +205,9 @@ struct ExecContext {
char **read_write_paths, **read_only_paths, **inaccessible_paths;
unsigned long mount_flags;
BindMount *bind_mounts;
unsigned n_bind_mounts;
size_t n_bind_mounts;
TemporaryFileSystem *temporary_filesystems;
unsigned n_temporary_filesystems;
size_t n_temporary_filesystems;
uint64_t capability_bounding_set;
uint64_t capability_ambient_set;
@ -301,8 +301,8 @@ struct ExecParameters {
int *fds;
char **fd_names;
unsigned n_storage_fds;
unsigned n_socket_fds;
size_t n_storage_fds;
size_t n_socket_fds;
ExecFlags flags;
bool selinux_context_net:1;
@ -334,10 +334,10 @@ int exec_spawn(Unit *unit,
DynamicCreds *dynamic_creds,
pid_t *ret);
void exec_command_done_array(ExecCommand *c, unsigned n);
void exec_command_done_array(ExecCommand *c, size_t n);
ExecCommand* exec_command_free_list(ExecCommand *c);
void exec_command_free_array(ExecCommand **c, unsigned n);
void exec_command_free_array(ExecCommand **c, size_t n);
void exec_command_dump_list(ExecCommand *c, FILE *f, const char *prefix);
void exec_command_append_list(ExecCommand **l, ExecCommand *e);

View File

@ -2103,7 +2103,7 @@ static int manager_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t
_cleanup_free_ Unit **array_copy = NULL;
Unit *u1, *u2, **array;
int r, *fd_array = NULL;
unsigned n_fds = 0;
size_t n_fds = 0;
bool found = false;
ssize_t n;

View File

@ -275,8 +275,8 @@ static int append_empty_dir_mounts(MountEntry **p, char **strv) {
return 0;
}
static int append_bind_mounts(MountEntry **p, const BindMount *binds, unsigned n) {
unsigned i;
static int append_bind_mounts(MountEntry **p, const BindMount *binds, size_t n) {
size_t i;
assert(p);
@ -295,8 +295,8 @@ static int append_bind_mounts(MountEntry **p, const BindMount *binds, unsigned n
return 0;
}
static int append_tmpfs_mounts(MountEntry **p, const TemporaryFileSystem *tmpfs, unsigned n) {
unsigned i;
static int append_tmpfs_mounts(MountEntry **p, const TemporaryFileSystem *tmpfs, size_t n) {
size_t i;
int r;
assert(p);
@ -338,8 +338,8 @@ static int append_tmpfs_mounts(MountEntry **p, const TemporaryFileSystem *tmpfs,
return 0;
}
static int append_static_mounts(MountEntry **p, const MountEntry *mounts, unsigned n, bool ignore_protect) {
unsigned i;
static int append_static_mounts(MountEntry **p, const MountEntry *mounts, size_t n, bool ignore_protect) {
size_t i;
assert(p);
assert(mounts);
@ -418,8 +418,8 @@ static int mount_path_compare(const void *a, const void *b) {
return 0;
}
static int prefix_where_needed(MountEntry *m, unsigned n, const char *root_directory) {
unsigned i;
static int prefix_where_needed(MountEntry *m, size_t n, const char *root_directory) {
size_t i;
/* Prefixes all paths in the bind mount table with the root directory if it is specified and the entry needs
* that. */
@ -444,7 +444,7 @@ static int prefix_where_needed(MountEntry *m, unsigned n, const char *root_direc
return 0;
}
static void drop_duplicates(MountEntry *m, unsigned *n) {
static void drop_duplicates(MountEntry *m, size_t *n) {
MountEntry *f, *t, *previous;
assert(m);
@ -473,7 +473,7 @@ static void drop_duplicates(MountEntry *m, unsigned *n) {
*n = t - m;
}
static void drop_inaccessible(MountEntry *m, unsigned *n) {
static void drop_inaccessible(MountEntry *m, size_t *n) {
MountEntry *f, *t;
const char *clear = NULL;
@ -502,7 +502,7 @@ static void drop_inaccessible(MountEntry *m, unsigned *n) {
*n = t - m;
}
static void drop_nop(MountEntry *m, unsigned *n) {
static void drop_nop(MountEntry *m, size_t *n) {
MountEntry *f, *t;
assert(m);
@ -541,7 +541,7 @@ static void drop_nop(MountEntry *m, unsigned *n) {
*n = t - m;
}
static void drop_outside_root(const char *root_directory, MountEntry *m, unsigned *n) {
static void drop_outside_root(const char *root_directory, MountEntry *m, size_t *n) {
MountEntry *f, *t;
assert(m);
@ -1047,22 +1047,22 @@ static bool namespace_info_mount_apivfs(const char *root_directory, const Namesp
ns_info->protect_kernel_tunables);
}
static unsigned namespace_calculate_mounts(
static size_t namespace_calculate_mounts(
const char* root_directory,
const NamespaceInfo *ns_info,
char** read_write_paths,
char** read_only_paths,
char** inaccessible_paths,
char** empty_directories,
unsigned n_bind_mounts,
unsigned n_temporary_filesystems,
size_t n_bind_mounts,
size_t n_temporary_filesystems,
const char* tmp_dir,
const char* var_tmp_dir,
ProtectHome protect_home,
ProtectSystem protect_system) {
unsigned protect_home_cnt;
unsigned protect_system_cnt =
size_t protect_home_cnt;
size_t protect_system_cnt =
(protect_system == PROTECT_SYSTEM_STRICT ?
ELEMENTSOF(protect_system_strict_table) :
((protect_system == PROTECT_SYSTEM_FULL) ?
@ -1093,7 +1093,7 @@ static unsigned namespace_calculate_mounts(
(namespace_info_mount_apivfs(root_directory, ns_info) ? ELEMENTSOF(apivfs_table) : 0);
}
static void normalize_mounts(const char *root_directory, MountEntry *mounts, unsigned *n_mounts) {
static void normalize_mounts(const char *root_directory, MountEntry *mounts, size_t *n_mounts) {
assert(n_mounts);
assert(mounts || *n_mounts == 0);
@ -1114,9 +1114,9 @@ int setup_namespace(
char** inaccessible_paths,
char** empty_directories,
const BindMount *bind_mounts,
unsigned n_bind_mounts,
size_t n_bind_mounts,
const TemporaryFileSystem *temporary_filesystems,
unsigned n_temporary_filesystems,
size_t n_temporary_filesystems,
const char* tmp_dir,
const char* var_tmp_dir,
ProtectHome protect_home,
@ -1132,7 +1132,7 @@ int setup_namespace(
size_t root_hash_size = 0;
bool make_slave = false;
const char *root;
unsigned n_mounts;
size_t n_mounts;
bool require_prefix = false;
int r = 0;
@ -1349,7 +1349,7 @@ int setup_namespace(
if (n_mounts > 0) {
_cleanup_fclose_ FILE *proc_self_mountinfo = NULL;
char **blacklist;
unsigned j;
size_t j;
/* Open /proc/self/mountinfo now as it may become unavailable if we mount anything on top of /proc.
* For example, this is the case with the option: 'InaccessiblePaths=/proc' */
@ -1431,8 +1431,8 @@ finish:
return r;
}
void bind_mount_free_many(BindMount *b, unsigned n) {
unsigned i;
void bind_mount_free_many(BindMount *b, size_t n) {
size_t i;
assert(b || n == 0);
@ -1444,7 +1444,7 @@ void bind_mount_free_many(BindMount *b, unsigned n) {
free(b);
}
int bind_mount_add(BindMount **b, unsigned *n, const BindMount *item) {
int bind_mount_add(BindMount **b, size_t *n, const BindMount *item) {
_cleanup_free_ char *s = NULL, *d = NULL;
BindMount *c;
@ -1477,8 +1477,8 @@ int bind_mount_add(BindMount **b, unsigned *n, const BindMount *item) {
return 0;
}
void temporary_filesystem_free_many(TemporaryFileSystem *t, unsigned n) {
unsigned i;
void temporary_filesystem_free_many(TemporaryFileSystem *t, size_t n) {
size_t i;
assert(t || n == 0);
@ -1492,7 +1492,7 @@ void temporary_filesystem_free_many(TemporaryFileSystem *t, unsigned n) {
int temporary_filesystem_add(
TemporaryFileSystem **t,
unsigned *n,
size_t *n,
const char *path,
const char *options) {

View File

@ -78,9 +78,9 @@ int setup_namespace(
char **inaccessible_paths,
char **empty_directories,
const BindMount *bind_mounts,
unsigned n_bind_mounts,
size_t n_bind_mounts,
const TemporaryFileSystem *temporary_filesystems,
unsigned n_temporary_filesystems,
size_t n_temporary_filesystems,
const char *tmp_dir,
const char *var_tmp_dir,
ProtectHome protect_home,
@ -103,11 +103,11 @@ const char* protect_system_to_string(ProtectSystem p) _const_;
ProtectSystem protect_system_from_string(const char *s) _pure_;
ProtectSystem parse_protect_system_or_bool(const char *s);
void bind_mount_free_many(BindMount *b, unsigned n);
int bind_mount_add(BindMount **b, unsigned *n, const BindMount *item);
void bind_mount_free_many(BindMount *b, size_t n);
int bind_mount_add(BindMount **b, size_t *n, const BindMount *item);
void temporary_filesystem_free_many(TemporaryFileSystem *t, unsigned n);
int temporary_filesystem_add(TemporaryFileSystem **t, unsigned *n,
void temporary_filesystem_free_many(TemporaryFileSystem *t, size_t n);
int temporary_filesystem_add(TemporaryFileSystem **t, size_t *n,
const char *path, const char *options);
const char* namespace_type_to_string(NamespaceType t) _const_;

View File

@ -866,7 +866,7 @@ static void service_dump(Unit *u, FILE *f, const char *prefix) {
if (s->n_fd_store_max > 0)
fprintf(f,
"%sFile Descriptor Store Max: %u\n"
"%sFile Descriptor Store Current: %u\n",
"%sFile Descriptor Store Current: %zu\n",
prefix, s->n_fd_store_max,
prefix, s->n_fd_store);

View File

@ -170,7 +170,7 @@ struct Service {
NotifyState notify_state;
ServiceFDStore *fd_store;
unsigned n_fd_store;
size_t n_fd_store;
unsigned n_fd_store_max;
unsigned n_keep_fd_store;

View File

@ -1366,13 +1366,14 @@ static int usbffs_select_ep(const struct dirent *d) {
static int usbffs_dispatch_eps(SocketPort *p) {
_cleanup_free_ struct dirent **ent = NULL;
int r, i, n, k;
size_t n, k, i;
int r;
r = scandir(p->path, &ent, usbffs_select_ep, alphasort);
if (r < 0)
return -errno;
n = r;
n = (size_t) r;
p->auxiliary_fds = new(int, n);
if (!p->auxiliary_fds)
return -ENOMEM;
@ -1393,9 +1394,7 @@ static int usbffs_dispatch_eps(SocketPort *p) {
if (r < 0)
goto fail;
p->auxiliary_fds[k] = r;
++k;
p->auxiliary_fds[k++] = r;
free(ent[i]);
}
@ -3097,8 +3096,9 @@ static int socket_dispatch_timer(sd_event_source *source, usec_t usec, void *use
}
int socket_collect_fds(Socket *s, int **fds) {
int *rfds, k = 0, n = 0;
size_t k = 0, n = 0;
SocketPort *p;
int *rfds;
assert(s);
assert(fds);
@ -3121,7 +3121,7 @@ int socket_collect_fds(Socket *s, int **fds) {
return -ENOMEM;
LIST_FOREACH(port, p, s->ports) {
int i;
size_t i;
if (p->fd >= 0)
rfds[k++] = p->fd;
@ -3132,7 +3132,7 @@ int socket_collect_fds(Socket *s, int **fds) {
assert(k == n);
*fds = rfds;
return n;
return (int) n;
}
static void socket_reset_failed(Unit *u) {

View File

@ -54,7 +54,7 @@ typedef struct SocketPort {
SocketType type;
int fd;
int *auxiliary_fds;
int n_auxiliary_fds;
size_t n_auxiliary_fds;
SocketAddress address;
char *path;

View File

@ -110,8 +110,8 @@ static void print_welcome(void) {
}
static int show_menu(char **x, unsigned n_columns, unsigned width, unsigned percentage) {
unsigned n, per_column, i, j;
unsigned break_lines, break_modulo;
size_t n, per_column, i, j;
assert(n_columns > 0);
@ -140,7 +140,7 @@ static int show_menu(char **x, unsigned n_columns, unsigned width, unsigned perc
if (!e)
return log_oom();
printf("%4u) %-*s", j * per_column + i + 1, width, e);
printf("%4zu) %-*s", j * per_column + i + 1, width, e);
}
putchar('\n');

View File

@ -644,7 +644,7 @@ static bool shall_try_append_again(JournalFile *f, int r) {
}
}
static void write_to_journal(Server *s, uid_t uid, struct iovec *iovec, unsigned n, int priority) {
static void write_to_journal(Server *s, uid_t uid, struct iovec *iovec, size_t n, int priority) {
bool vacuumed = false, rotate = false;
struct dual_timestamp ts;
JournalFile *f;
@ -699,7 +699,7 @@ static void write_to_journal(Server *s, uid_t uid, struct iovec *iovec, unsigned
}
if (vacuumed || !shall_try_append_again(f, r)) {
log_error_errno(r, "Failed to write entry (%d items, %zu bytes), ignoring: %m", n, IOVEC_TOTAL_SIZE(iovec, n));
log_error_errno(r, "Failed to write entry (%zu items, %zu bytes), ignoring: %m", n, IOVEC_TOTAL_SIZE(iovec, n));
return;
}
@ -713,7 +713,7 @@ static void write_to_journal(Server *s, uid_t uid, struct iovec *iovec, unsigned
log_debug("Retrying write.");
r = journal_file_append_entry(f, &ts, iovec, n, &s->seqnum, NULL, NULL);
if (r < 0)
log_error_errno(r, "Failed to write entry (%d items, %zu bytes) despite vacuuming, ignoring: %m", n, IOVEC_TOTAL_SIZE(iovec, n));
log_error_errno(r, "Failed to write entry (%zu items, %zu bytes) despite vacuuming, ignoring: %m", n, IOVEC_TOTAL_SIZE(iovec, n));
else
server_schedule_sync(s, priority);
}
@ -1069,7 +1069,7 @@ int server_process_datagram(sd_event_source *es, int fd, uint32_t revents, void
struct iovec iovec;
ssize_t n;
int *fds = NULL, v = 0;
unsigned n_fds = 0;
size_t n_fds = 0;
union {
struct cmsghdr cmsghdr;

View File

@ -83,7 +83,7 @@ static bool net_condition_test_strv(char * const *raw_patterns,
/* If the patterns begin with "!", edit it out and negate the test. */
if (raw_patterns[0][0] == '!') {
char **patterns;
unsigned i, length;
size_t i, length;
length = strv_length(raw_patterns) + 1; /* Include the NULL. */
patterns = newa(char*, length);

View File

@ -221,7 +221,7 @@ int sd_dhcp_lease_get_routes(sd_dhcp_lease *lease, sd_dhcp_route ***routes) {
}
int sd_dhcp_lease_get_search_domains(sd_dhcp_lease *lease, char ***domains) {
unsigned r;
size_t r;
assert_return(lease, -EINVAL);
assert_return(domains, -EINVAL);

View File

@ -265,7 +265,7 @@ struct sd_bus {
uint64_t creds_mask;
int *fds;
unsigned n_fds;
size_t n_fds;
char *exec_path;
char **exec_argv;

View File

@ -399,7 +399,7 @@ int bus_message_from_header(
size_t footer_accessible,
size_t message_size,
int *fds,
unsigned n_fds,
size_t n_fds,
const char *label,
size_t extra,
sd_bus_message **ret) {
@ -510,7 +510,7 @@ int bus_message_from_malloc(
void *buffer,
size_t length,
int *fds,
unsigned n_fds,
size_t n_fds,
const char *label,
sd_bus_message **ret) {
@ -1651,7 +1651,7 @@ _public_ int sd_bus_message_append_string_space(
_public_ int sd_bus_message_append_string_iovec(
sd_bus_message *m,
const struct iovec *iov,
unsigned n) {
unsigned n /* should be size_t, but is API now… 😞 */) {
size_t size;
unsigned i;
@ -2575,7 +2575,7 @@ _public_ int sd_bus_message_append_array_iovec(
sd_bus_message *m,
char type,
const struct iovec *iov,
unsigned n) {
unsigned n /* should be size_t, but is API now… 😞 */) {
size_t size;
unsigned i;
@ -5485,7 +5485,7 @@ _public_ int sd_bus_message_set_sender(sd_bus_message *m, const char *sender) {
int bus_message_get_blob(sd_bus_message *m, void **buffer, size_t *sz) {
size_t total;
void *p, *e;
unsigned i;
size_t i;
struct bus_body_part *part;
assert(m);

View File

@ -182,7 +182,7 @@ int bus_message_from_header(
size_t footer_accessible,
size_t message_size,
int *fds,
unsigned n_fds,
size_t n_fds,
const char *label,
size_t extra,
sd_bus_message **ret);
@ -192,7 +192,7 @@ int bus_message_from_malloc(
void *buffer,
size_t length,
int *fds,
unsigned n_fds,
size_t n_fds,
const char *label,
sd_bus_message **ret);

View File

@ -402,7 +402,7 @@ static int uid_get_array(uid_t uid, const char *variable, char ***array) {
return -ENOMEM;
strv_uniq(a);
r = strv_length(a);
r = (int) strv_length(a);
if (array)
*array = a;
@ -726,7 +726,7 @@ _public_ int sd_seat_get_sessions(const char *seat, char ***sessions, uid_t **ui
}
}
r = strv_length(a);
r = (int) strv_length(a);
if (sessions)
*sessions = TAKE_PTR(a);

View File

@ -65,7 +65,7 @@ static int network_get_strv(const char *key, char ***ret) {
return -ENOMEM;
strv_uniq(a);
r = strv_length(a);
r = (int) strv_length(a);
*ret = TAKE_PTR(a);
@ -136,7 +136,7 @@ static int network_link_get_strv(int ifindex, const char *key, char ***ret) {
return -ENOMEM;
strv_uniq(a);
r = strv_length(a);
r = (int) strv_length(a);
*ret = TAKE_PTR(a);

View File

@ -1800,7 +1800,7 @@ static int enable_machine(int argc, char *argv[], void *userdata) {
_cleanup_(sd_bus_message_unrefp) sd_bus_message *m = NULL, *reply = NULL;
_cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
UnitFileChange *changes = NULL;
unsigned n_changes = 0;
size_t n_changes = 0;
int carries_install_info = 0;
const char *method = NULL;
sd_bus *bus = userdata;

View File

@ -2865,9 +2865,9 @@ static int native_main(int argc, char *argv[], sd_bus *bus) {
return dispatch_verb(argc, argv, verbs, bus);
}
static int translate(const char *verb, const char *single_arg, unsigned num_args, char **args, sd_bus *bus) {
static int translate(const char *verb, const char *single_arg, size_t num_args, char **args, sd_bus *bus) {
char **fake, **p;
unsigned num, i;
size_t num, i;
assert(verb);
assert(num_args == 0 || args);
@ -2882,7 +2882,7 @@ static int translate(const char *verb, const char *single_arg, unsigned num_args
*p++ = args[i];
optind = 0;
return native_main(num, fake, bus);
return native_main((int) num, fake, bus);
}
static int compat_main(int argc, char *argv[], sd_bus *bus) {

View File

@ -11,7 +11,7 @@
#include "resolved-dns-dnssec.h"
#include "string-util.h"
DnsAnswer *dns_answer_new(unsigned n) {
DnsAnswer *dns_answer_new(size_t n) {
DnsAnswer *a;
a = malloc0(offsetof(DnsAnswer, items) + sizeof(DnsAnswerItem) * n);
@ -93,7 +93,7 @@ static int dns_answer_add_raw_all(DnsAnswer *a, DnsAnswer *source) {
}
int dns_answer_add(DnsAnswer *a, DnsResourceRecord *rr, int ifindex, DnsAnswerFlags flags) {
unsigned i;
size_t i;
int r;
assert(rr);
@ -453,7 +453,7 @@ int dns_answer_extend(DnsAnswer **a, DnsAnswer *b) {
int dns_answer_remove_by_key(DnsAnswer **a, const DnsResourceKey *key) {
bool found = false, other = false;
DnsResourceRecord *rr;
unsigned i;
size_t i;
int r;
assert(a);
@ -538,7 +538,7 @@ int dns_answer_remove_by_key(DnsAnswer **a, const DnsResourceKey *key) {
int dns_answer_remove_by_rr(DnsAnswer **a, DnsResourceRecord *rm) {
bool found = false, other = false;
DnsResourceRecord *rr;
unsigned i;
size_t i;
int r;
assert(a);
@ -667,7 +667,7 @@ int dns_answer_move_by_key(DnsAnswer **to, DnsAnswer **from, const DnsResourceKe
void dns_answer_order_by_scope(DnsAnswer *a, bool prefer_link_local) {
DnsAnswerItem *items;
unsigned i, start, end;
size_t i, start, end;
if (!a)
return;
@ -698,7 +698,7 @@ void dns_answer_order_by_scope(DnsAnswer *a, bool prefer_link_local) {
memcpy(a->items, items, sizeof(DnsAnswerItem) * a->n_rrs);
}
int dns_answer_reserve(DnsAnswer **a, unsigned n_free) {
int dns_answer_reserve(DnsAnswer **a, size_t n_free) {
DnsAnswer *n;
assert(a);
@ -707,7 +707,7 @@ int dns_answer_reserve(DnsAnswer **a, unsigned n_free) {
return 0;
if (*a) {
unsigned ns;
size_t ns;
if ((*a)->n_ref > 1)
return -EBUSY;
@ -735,7 +735,7 @@ int dns_answer_reserve(DnsAnswer **a, unsigned n_free) {
return 0;
}
int dns_answer_reserve_or_clone(DnsAnswer **a, unsigned n_free) {
int dns_answer_reserve_or_clone(DnsAnswer **a, size_t n_free) {
_cleanup_(dns_answer_unrefp) DnsAnswer *n = NULL;
int r;

View File

@ -36,11 +36,11 @@ struct DnsAnswerItem {
struct DnsAnswer {
unsigned n_ref;
unsigned n_rrs, n_allocated;
size_t n_rrs, n_allocated;
DnsAnswerItem items[0];
};
DnsAnswer *dns_answer_new(unsigned n);
DnsAnswer *dns_answer_new(size_t n);
DnsAnswer *dns_answer_ref(DnsAnswer *a);
DnsAnswer *dns_answer_unref(DnsAnswer *a);
@ -62,8 +62,8 @@ int dns_answer_extend(DnsAnswer **a, DnsAnswer *b);
void dns_answer_order_by_scope(DnsAnswer *a, bool prefer_link_local);
int dns_answer_reserve(DnsAnswer **a, unsigned n_free);
int dns_answer_reserve_or_clone(DnsAnswer **a, unsigned n_free);
int dns_answer_reserve(DnsAnswer **a, size_t n_free);
int dns_answer_reserve_or_clone(DnsAnswer **a, size_t n_free);
int dns_answer_remove_by_key(DnsAnswer **a, const DnsResourceKey *key);
int dns_answer_remove_by_rr(DnsAnswer **a, DnsResourceRecord *rr);
@ -73,7 +73,7 @@ int dns_answer_move_by_key(DnsAnswer **to, DnsAnswer **from, const DnsResourceKe
bool dns_answer_has_dname_for_cname(DnsAnswer *a, DnsResourceRecord *cname);
static inline unsigned dns_answer_size(DnsAnswer *a) {
static inline size_t dns_answer_size(DnsAnswer *a) {
return a ? a->n_rrs : 0;
}
@ -86,7 +86,7 @@ void dns_answer_dump(DnsAnswer *answer, FILE *f);
DEFINE_TRIVIAL_CLEANUP_FUNC(DnsAnswer*, dns_answer_unref);
#define _DNS_ANSWER_FOREACH(q, kk, a) \
for (unsigned UNIQ_T(i, q) = ({ \
for (size_t UNIQ_T(i, q) = ({ \
(kk) = ((a) && (a)->n_rrs > 0) ? (a)->items[0].rr : NULL; \
0; \
}); \
@ -96,7 +96,7 @@ DEFINE_TRIVIAL_CLEANUP_FUNC(DnsAnswer*, dns_answer_unref);
#define DNS_ANSWER_FOREACH(kk, a) _DNS_ANSWER_FOREACH(UNIQ, kk, a)
#define _DNS_ANSWER_FOREACH_IFINDEX(q, kk, ifi, a) \
for (unsigned UNIQ_T(i, q) = ({ \
for (size_t UNIQ_T(i, q) = ({ \
(kk) = ((a) && (a)->n_rrs > 0) ? (a)->items[0].rr : NULL; \
(ifi) = ((a) && (a)->n_rrs > 0) ? (a)->items[0].ifindex : 0; \
0; \
@ -109,7 +109,7 @@ DEFINE_TRIVIAL_CLEANUP_FUNC(DnsAnswer*, dns_answer_unref);
#define DNS_ANSWER_FOREACH_IFINDEX(kk, ifindex, a) _DNS_ANSWER_FOREACH_IFINDEX(UNIQ, kk, ifindex, a)
#define _DNS_ANSWER_FOREACH_FLAGS(q, kk, fl, a) \
for (unsigned UNIQ_T(i, q) = ({ \
for (size_t UNIQ_T(i, q) = ({ \
(kk) = ((a) && (a)->n_rrs > 0) ? (a)->items[0].rr : NULL; \
(fl) = ((a) && (a)->n_rrs > 0) ? (a)->items[0].flags : 0; \
0; \
@ -122,7 +122,7 @@ DEFINE_TRIVIAL_CLEANUP_FUNC(DnsAnswer*, dns_answer_unref);
#define DNS_ANSWER_FOREACH_FLAGS(kk, flags, a) _DNS_ANSWER_FOREACH_FLAGS(UNIQ, kk, flags, a)
#define _DNS_ANSWER_FOREACH_FULL(q, kk, ifi, fl, a) \
for (unsigned UNIQ_T(i, q) = ({ \
for (size_t UNIQ_T(i, q) = ({ \
(kk) = ((a) && (a)->n_rrs > 0) ? (a)->items[0].rr : NULL; \
(ifi) = ((a) && (a)->n_rrs > 0) ? (a)->items[0].ifindex : 0; \
(fl) = ((a) && (a)->n_rrs > 0) ? (a)->items[0].flags : 0; \

View File

@ -10,7 +10,7 @@
#include "dns-type.h"
#include "resolved-dns-question.h"
DnsQuestion *dns_question_new(unsigned n) {
DnsQuestion *dns_question_new(size_t n) {
DnsQuestion *q;
assert(n > 0);
@ -41,7 +41,7 @@ DnsQuestion *dns_question_unref(DnsQuestion *q) {
assert(q->n_ref > 0);
if (q->n_ref == 1) {
unsigned i;
size_t i;
for (i = 0; i < q->n_keys; i++)
dns_resource_key_unref(q->keys[i]);
@ -53,7 +53,7 @@ DnsQuestion *dns_question_unref(DnsQuestion *q) {
}
int dns_question_add(DnsQuestion *q, DnsResourceKey *key) {
unsigned i;
size_t i;
int r;
assert(key);
@ -77,7 +77,7 @@ int dns_question_add(DnsQuestion *q, DnsResourceKey *key) {
}
int dns_question_matches_rr(DnsQuestion *q, DnsResourceRecord *rr, const char *search_domain) {
unsigned i;
size_t i;
int r;
assert(rr);
@ -95,7 +95,7 @@ int dns_question_matches_rr(DnsQuestion *q, DnsResourceRecord *rr, const char *s
}
int dns_question_matches_cname_or_dname(DnsQuestion *q, DnsResourceRecord *rr, const char *search_domain) {
unsigned i;
size_t i;
int r;
assert(rr);
@ -121,7 +121,7 @@ int dns_question_matches_cname_or_dname(DnsQuestion *q, DnsResourceRecord *rr, c
int dns_question_is_valid_for_query(DnsQuestion *q) {
const char *name;
unsigned i;
size_t i;
int r;
if (!q)
@ -155,7 +155,7 @@ int dns_question_is_valid_for_query(DnsQuestion *q) {
}
int dns_question_contains(DnsQuestion *a, const DnsResourceKey *k) {
unsigned j;
size_t j;
int r;
assert(k);
@ -173,7 +173,7 @@ int dns_question_contains(DnsQuestion *a, const DnsResourceKey *k) {
}
int dns_question_is_equal(DnsQuestion *a, DnsQuestion *b) {
unsigned j;
size_t j;
int r;
if (a == b)

View File

@ -16,11 +16,11 @@ typedef struct DnsQuestion DnsQuestion;
struct DnsQuestion {
unsigned n_ref;
unsigned n_keys, n_allocated;
size_t n_keys, n_allocated;
DnsResourceKey* keys[0];
};
DnsQuestion *dns_question_new(unsigned n);
DnsQuestion *dns_question_new(size_t n);
DnsQuestion *dns_question_ref(DnsQuestion *q);
DnsQuestion *dns_question_unref(DnsQuestion *q);
@ -40,7 +40,7 @@ int dns_question_cname_redirect(DnsQuestion *q, const DnsResourceRecord *cname,
const char *dns_question_first_name(DnsQuestion *q);
static inline unsigned dns_question_size(DnsQuestion *q) {
static inline size_t dns_question_size(DnsQuestion *q) {
return q ? q->n_keys : 0;
}
@ -51,7 +51,7 @@ static inline bool dns_question_isempty(DnsQuestion *q) {
DEFINE_TRIVIAL_CLEANUP_FUNC(DnsQuestion*, dns_question_unref);
#define _DNS_QUESTION_FOREACH(u, key, q) \
for (unsigned UNIQ_T(i, u) = ({ \
for (size_t UNIQ_T(i, u) = ({ \
(key) = ((q) && (q)->n_keys > 0) ? (q)->keys[0] : NULL; \
0; \
}); \

View File

@ -133,7 +133,7 @@ static int mdns_packet_extract_matching_rrs(DnsPacket *p, DnsResourceKey *key, D
assert(ret_rrs);
assert_return(DNS_PACKET_NSCOUNT(p) > 0, -EINVAL);
for (unsigned i = DNS_PACKET_ANCOUNT(p); i < (DNS_PACKET_ANCOUNT(p) + DNS_PACKET_NSCOUNT(p)); i++) {
for (size_t i = DNS_PACKET_ANCOUNT(p); i < (DNS_PACKET_ANCOUNT(p) + DNS_PACKET_NSCOUNT(p)); i++) {
r = dns_resource_key_match_rr(key, p->answer->items[i].rr, NULL);
if (r < 0)
return r;
@ -148,7 +148,7 @@ static int mdns_packet_extract_matching_rrs(DnsPacket *p, DnsResourceKey *key, D
if (!list)
return -ENOMEM;
for (unsigned i = DNS_PACKET_ANCOUNT(p); i < (DNS_PACKET_ANCOUNT(p) + DNS_PACKET_NSCOUNT(p)); i++) {
for (size_t i = DNS_PACKET_ANCOUNT(p); i < (DNS_PACKET_ANCOUNT(p) + DNS_PACKET_NSCOUNT(p)); i++) {
r = dns_resource_key_match_rr(key, p->answer->items[i].rr, NULL);
if (r < 0)
return r;
@ -166,8 +166,7 @@ static int mdns_packet_extract_matching_rrs(DnsPacket *p, DnsResourceKey *key, D
static int mdns_do_tiebreak(DnsResourceKey *key, DnsAnswer *answer, DnsPacket *p) {
_cleanup_free_ DnsResourceRecord **our = NULL, **remote = NULL;
DnsResourceRecord *rr;
unsigned i = 0;
unsigned size;
size_t i = 0, size;
int r;
size = dns_answer_size(answer);

View File

@ -50,8 +50,8 @@ static const BaseFilesystem table[] = {
int base_filesystem_create(const char *root, uid_t uid, gid_t gid) {
_cleanup_close_ int fd = -1;
unsigned i;
int r = 0;
size_t i;
fd = open(root, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW);
if (fd < 0)

View File

@ -125,7 +125,7 @@ int boot_entry_load(const char *path, BootEntry *entry) {
}
void boot_config_free(BootConfig *config) {
unsigned i;
size_t i;
assert(config);
@ -247,7 +247,7 @@ int boot_entries_find(const char *dir, BootEntry **ret_entries, size_t *ret_n_en
}
static bool find_nonunique(BootEntry *entries, size_t n_entries, bool *arr) {
unsigned i, j;
size_t i, j;
bool non_unique = false;
assert(entries || n_entries == 0);
@ -267,7 +267,7 @@ static bool find_nonunique(BootEntry *entries, size_t n_entries, bool *arr) {
static int boot_entries_uniquify(BootEntry *entries, size_t n_entries) {
char *s;
unsigned i;
size_t i;
int r;
bool arr[n_entries];

View File

@ -2003,7 +2003,7 @@ int bus_wait_for_jobs_one(BusWaitForJobs *d, const char *path, bool quiet) {
return bus_wait_for_jobs(d, quiet, NULL);
}
int bus_deserialize_and_dump_unit_file_changes(sd_bus_message *m, bool quiet, UnitFileChange **changes, unsigned *n_changes) {
int bus_deserialize_and_dump_unit_file_changes(sd_bus_message *m, bool quiet, UnitFileChange **changes, size_t *n_changes) {
const char *type, *path, *source;
int r;

View File

@ -41,7 +41,7 @@ int bus_wait_for_jobs_one(BusWaitForJobs *d, const char *path, bool quiet);
DEFINE_TRIVIAL_CLEANUP_FUNC(BusWaitForJobs*, bus_wait_for_jobs_free);
int bus_deserialize_and_dump_unit_file_changes(sd_bus_message *m, bool quiet, UnitFileChange **changes, unsigned *n_changes);
int bus_deserialize_and_dump_unit_file_changes(sd_bus_message *m, bool quiet, UnitFileChange **changes, size_t *n_changes);
int unit_show_processes(sd_bus *bus, const char *unit, const char *cgroup_path, const char *prefix, unsigned n_columns, OutputFlags flags, sd_bus_error *error);

View File

@ -29,8 +29,8 @@ FDSet *fdset_new(void) {
return MAKE_FDSET(set_new(NULL));
}
int fdset_new_array(FDSet **ret, const int *fds, unsigned n_fds) {
unsigned i;
int fdset_new_array(FDSet **ret, const int *fds, size_t n_fds) {
size_t i;
FDSet *s;
int r;
@ -217,10 +217,10 @@ int fdset_close_others(FDSet *fds) {
void *e;
Iterator i;
int *a;
unsigned j, m;
size_t j = 0, m;
j = 0, m = fdset_size(fds);
a = alloca(sizeof(int) * m);
m = fdset_size(fds);
a = newa(int, m);
SET_FOREACH(e, MAKE_SET(fds), i)
a[j++] = PTR_TO_FD(e);

View File

@ -24,7 +24,7 @@ int fdset_put_dup(FDSet *s, int fd);
bool fdset_contains(FDSet *s, int fd);
int fdset_remove(FDSet *s, int fd);
int fdset_new_array(FDSet **ret, const int *fds, unsigned n_fds);
int fdset_new_array(FDSet **ret, const int *fds, size_t n_fds);
int fdset_new_fill(FDSet **ret);
int fdset_new_listen_fds(FDSet **ret, bool unset);

View File

@ -285,7 +285,7 @@ static int path_is_vendor(const LookupPaths *p, const char *path) {
int unit_file_changes_add(
UnitFileChange **changes,
unsigned *n_changes,
size_t *n_changes,
UnitFileChangeType type,
const char *path,
const char *source) {
@ -321,8 +321,8 @@ int unit_file_changes_add(
return 0;
}
void unit_file_changes_free(UnitFileChange *changes, unsigned n_changes) {
unsigned i;
void unit_file_changes_free(UnitFileChange *changes, size_t n_changes) {
size_t i;
assert(changes || n_changes == 0);
@ -334,8 +334,8 @@ void unit_file_changes_free(UnitFileChange *changes, unsigned n_changes) {
free(changes);
}
void unit_file_dump_changes(int r, const char *verb, const UnitFileChange *changes, unsigned n_changes, bool quiet) {
unsigned i;
void unit_file_dump_changes(int r, const char *verb, const UnitFileChange *changes, size_t n_changes, bool quiet) {
size_t i;
bool logged = false;
assert(changes || n_changes == 0);
@ -434,7 +434,7 @@ static int create_symlink(
const char *new_path,
bool force,
UnitFileChange **changes,
unsigned *n_changes) {
size_t *n_changes) {
_cleanup_free_ char *dest = NULL, *dirname = NULL;
const char *rp;
@ -538,7 +538,7 @@ static int remove_marked_symlinks_fd(
bool dry_run,
bool *restart,
UnitFileChange **changes,
unsigned *n_changes) {
size_t *n_changes) {
_cleanup_closedir_ DIR *d = NULL;
struct dirent *de;
@ -655,7 +655,7 @@ static int remove_marked_symlinks(
const LookupPaths *lp,
bool dry_run,
UnitFileChange **changes,
unsigned *n_changes) {
size_t *n_changes) {
_cleanup_close_ int fd = -1;
bool restart;
@ -1001,7 +1001,7 @@ static int install_info_may_process(
UnitFileInstallInfo *i,
const LookupPaths *paths,
UnitFileChange **changes,
unsigned *n_changes) {
size_t *n_changes) {
assert(i);
assert(paths);
@ -1669,7 +1669,7 @@ static int install_info_discover(
SearchFlags flags,
UnitFileInstallInfo **ret,
UnitFileChange **changes,
unsigned *n_changes) {
size_t *n_changes) {
UnitFileInstallInfo *i;
int r;
@ -1693,7 +1693,7 @@ static int install_info_symlink_alias(
const char *config_path,
bool force,
UnitFileChange **changes,
unsigned *n_changes) {
size_t *n_changes) {
char **s;
int r = 0, q;
@ -1728,7 +1728,7 @@ static int install_info_symlink_wants(
char **list,
const char *suffix,
UnitFileChange **changes,
unsigned *n_changes) {
size_t *n_changes) {
_cleanup_free_ char *buf = NULL;
const char *n;
@ -1798,7 +1798,7 @@ static int install_info_symlink_link(
const char *config_path,
bool force,
UnitFileChange **changes,
unsigned *n_changes) {
size_t *n_changes) {
_cleanup_free_ char *path = NULL;
int r;
@ -1827,7 +1827,7 @@ static int install_info_apply(
const char *config_path,
bool force,
UnitFileChange **changes,
unsigned *n_changes) {
size_t *n_changes) {
int r, q;
@ -1864,7 +1864,7 @@ static int install_context_apply(
bool force,
SearchFlags flags,
UnitFileChange **changes,
unsigned *n_changes) {
size_t *n_changes) {
UnitFileInstallInfo *i;
int r;
@ -1927,7 +1927,7 @@ static int install_context_mark_for_removal(
Set **remove_symlinks_to,
const char *config_path,
UnitFileChange **changes,
unsigned *n_changes) {
size_t *n_changes) {
UnitFileInstallInfo *i;
int r;
@ -1990,7 +1990,7 @@ int unit_file_mask(
const char *root_dir,
char **files,
UnitFileChange **changes,
unsigned *n_changes) {
size_t *n_changes) {
_cleanup_(lookup_paths_free) LookupPaths paths = {};
const char *config_path;
@ -2036,7 +2036,7 @@ int unit_file_unmask(
const char *root_dir,
char **files,
UnitFileChange **changes,
unsigned *n_changes) {
size_t *n_changes) {
_cleanup_(lookup_paths_free) LookupPaths paths = {};
_cleanup_set_free_free_ Set *remove_symlinks_to = NULL;
@ -2130,7 +2130,7 @@ int unit_file_link(
const char *root_dir,
char **files,
UnitFileChange **changes,
unsigned *n_changes) {
size_t *n_changes) {
_cleanup_(lookup_paths_free) LookupPaths paths = {};
_cleanup_strv_free_ char **todo = NULL;
@ -2230,7 +2230,7 @@ int unit_file_revert(
const char *root_dir,
char **files,
UnitFileChange **changes,
unsigned *n_changes) {
size_t *n_changes) {
_cleanup_set_free_free_ Set *remove_symlinks_to = NULL;
_cleanup_(lookup_paths_free) LookupPaths paths = {};
@ -2387,7 +2387,7 @@ int unit_file_add_dependency(
const char *target,
UnitDependency dep,
UnitFileChange **changes,
unsigned *n_changes) {
size_t *n_changes) {
_cleanup_(lookup_paths_free) LookupPaths paths = {};
_cleanup_(install_context_done) InstallContext c = {};
@ -2461,7 +2461,7 @@ int unit_file_enable(
const char *root_dir,
char **files,
UnitFileChange **changes,
unsigned *n_changes) {
size_t *n_changes) {
_cleanup_(lookup_paths_free) LookupPaths paths = {};
_cleanup_(install_context_done) InstallContext c = {};
@ -2507,7 +2507,7 @@ int unit_file_disable(
const char *root_dir,
char **files,
UnitFileChange **changes,
unsigned *n_changes) {
size_t *n_changes) {
_cleanup_(lookup_paths_free) LookupPaths paths = {};
_cleanup_(install_context_done) InstallContext c = {};
@ -2549,7 +2549,7 @@ int unit_file_reenable(
const char *root_dir,
char **files,
UnitFileChange **changes,
unsigned *n_changes) {
size_t *n_changes) {
char **n;
int r;
@ -2576,7 +2576,7 @@ int unit_file_set_default(
const char *root_dir,
const char *name,
UnitFileChange **changes,
unsigned *n_changes) {
size_t *n_changes) {
_cleanup_(lookup_paths_free) LookupPaths paths = {};
_cleanup_(install_context_done) InstallContext c = {};
@ -2928,7 +2928,7 @@ static int execute_preset(
UnitFilePresetMode mode,
bool force,
UnitFileChange **changes,
unsigned *n_changes) {
size_t *n_changes) {
int r;
@ -2972,7 +2972,7 @@ static int preset_prepare_one(
const char *name,
Presets presets,
UnitFileChange **changes,
unsigned *n_changes) {
size_t *n_changes) {
_cleanup_(install_context_done) InstallContext tmp = {};
UnitFileInstallInfo *i;
@ -3017,7 +3017,7 @@ int unit_file_preset(
char **files,
UnitFilePresetMode mode,
UnitFileChange **changes,
unsigned *n_changes) {
size_t *n_changes) {
_cleanup_(install_context_done) InstallContext plus = {}, minus = {};
_cleanup_(lookup_paths_free) LookupPaths paths = {};
@ -3057,7 +3057,7 @@ int unit_file_preset_all(
const char *root_dir,
UnitFilePresetMode mode,
UnitFileChange **changes,
unsigned *n_changes) {
size_t *n_changes) {
_cleanup_(install_context_done) InstallContext plus = {}, minus = {};
_cleanup_(lookup_paths_free) LookupPaths paths = {};

View File

@ -83,8 +83,8 @@ struct UnitFileChange {
char *source;
};
static inline bool unit_file_changes_have_modification(const UnitFileChange* changes, unsigned n_changes) {
unsigned i;
static inline bool unit_file_changes_have_modification(const UnitFileChange* changes, size_t n_changes) {
size_t i;
for (i = 0; i < n_changes; i++)
if (IN_SET(changes[i].type, UNIT_FILE_SYMLINK, UNIT_FILE_UNLINK))
return true;
@ -129,21 +129,21 @@ int unit_file_enable(
const char *root_dir,
char **files,
UnitFileChange **changes,
unsigned *n_changes);
size_t *n_changes);
int unit_file_disable(
UnitFileScope scope,
UnitFileFlags flags,
const char *root_dir,
char **files,
UnitFileChange **changes,
unsigned *n_changes);
size_t *n_changes);
int unit_file_reenable(
UnitFileScope scope,
UnitFileFlags flags,
const char *root_dir,
char **files,
UnitFileChange **changes,
unsigned *n_changes);
size_t *n_changes);
int unit_file_preset(
UnitFileScope scope,
UnitFileFlags flags,
@ -151,48 +151,48 @@ int unit_file_preset(
char **files,
UnitFilePresetMode mode,
UnitFileChange **changes,
unsigned *n_changes);
size_t *n_changes);
int unit_file_preset_all(
UnitFileScope scope,
UnitFileFlags flags,
const char *root_dir,
UnitFilePresetMode mode,
UnitFileChange **changes,
unsigned *n_changes);
size_t *n_changes);
int unit_file_mask(
UnitFileScope scope,
UnitFileFlags flags,
const char *root_dir,
char **files,
UnitFileChange **changes,
unsigned *n_changes);
size_t *n_changes);
int unit_file_unmask(
UnitFileScope scope,
UnitFileFlags flags,
const char *root_dir,
char **files,
UnitFileChange **changes,
unsigned *n_changes);
size_t *n_changes);
int unit_file_link(
UnitFileScope scope,
UnitFileFlags flags,
const char *root_dir,
char **files,
UnitFileChange **changes,
unsigned *n_changes);
size_t *n_changes);
int unit_file_revert(
UnitFileScope scope,
const char *root_dir,
char **files,
UnitFileChange **changes,
unsigned *n_changes);
size_t *n_changes);
int unit_file_set_default(
UnitFileScope scope,
UnitFileFlags flags,
const char *root_dir,
const char *file,
UnitFileChange **changes,
unsigned *n_changes);
size_t *n_changes);
int unit_file_get_default(
UnitFileScope scope,
const char *root_dir,
@ -205,7 +205,7 @@ int unit_file_add_dependency(
const char *target,
UnitDependency dep,
UnitFileChange **changes,
unsigned *n_changes);
size_t *n_changes);
int unit_file_get_state(UnitFileScope scope, const char *root_dir, const char *filename, UnitFileState *ret);
int unit_file_exists(UnitFileScope scope, const LookupPaths *paths, const char *name);
@ -213,9 +213,9 @@ int unit_file_exists(UnitFileScope scope, const LookupPaths *paths, const char *
int unit_file_get_list(UnitFileScope scope, const char *root_dir, Hashmap *h, char **states, char **patterns);
Hashmap* unit_file_list_free(Hashmap *h);
int unit_file_changes_add(UnitFileChange **changes, unsigned *n_changes, UnitFileChangeType type, const char *path, const char *source);
void unit_file_changes_free(UnitFileChange *changes, unsigned n_changes);
void unit_file_dump_changes(int r, const char *verb, const UnitFileChange *changes, unsigned n_changes, bool quiet);
int unit_file_changes_add(UnitFileChange **changes, size_t *n_changes, UnitFileChangeType type, const char *path, const char *source);
void unit_file_changes_free(UnitFileChange *changes, size_t n_changes);
void unit_file_dump_changes(int r, const char *verb, const UnitFileChange *changes, size_t n_changes, bool quiet);
int unit_file_query_preset(UnitFileScope scope, const char *root_dir, const char *name);

View File

@ -717,7 +717,7 @@ void lookup_paths_free(LookupPaths *p) {
int lookup_paths_reduce(LookupPaths *p) {
_cleanup_free_ struct stat *stats = NULL;
size_t n_stats = 0, allocated = 0;
unsigned c = 0;
size_t c = 0;
int r;
assert(p);
@ -730,7 +730,7 @@ int lookup_paths_reduce(LookupPaths *p) {
while (p->search_path[c]) {
struct stat st;
unsigned k;
size_t k;
/* Never strip the transient and control directories from the path */
if (path_equal_ptr(p->search_path[c], p->transient) ||

View File

@ -2098,7 +2098,7 @@ static int get_default(int argc, char *argv[], void *userdata) {
static int set_default(int argc, char *argv[], void *userdata) {
_cleanup_free_ char *unit = NULL;
UnitFileChange *changes = NULL;
unsigned n_changes = 0;
size_t n_changes = 0;
int r;
assert(argc >= 2);
@ -6115,7 +6115,7 @@ static int enable_unit(int argc, char *argv[], void *userdata) {
_cleanup_strv_free_ char **names = NULL;
const char *verb = argv[0];
UnitFileChange *changes = NULL;
unsigned n_changes = 0;
size_t n_changes = 0;
int carries_install_info = -1;
bool ignore_carries_install_info = arg_quiet;
int r;
@ -6311,7 +6311,7 @@ static int enable_unit(int argc, char *argv[], void *userdata) {
if (arg_now && STR_IN_SET(argv[0], "enable", "disable", "mask")) {
sd_bus *bus;
unsigned len, i;
size_t len, i;
r = acquire_bus(BUS_MANAGER, &bus);
if (r < 0)
@ -6341,7 +6341,7 @@ static int add_dependency(int argc, char *argv[], void *userdata) {
_cleanup_free_ char *target = NULL;
const char *verb = argv[0];
UnitFileChange *changes = NULL;
unsigned n_changes = 0;
size_t n_changes = 0;
UnitDependency dep;
int r = 0;
@ -6422,7 +6422,7 @@ finish:
static int preset_all(int argc, char *argv[], void *userdata) {
UnitFileChange *changes = NULL;
unsigned n_changes = 0;
size_t n_changes = 0;
int r;
if (install_client_side()) {
@ -6477,7 +6477,7 @@ finish:
static int show_installation_targets_client_side(const char *name) {
UnitFileChange *changes = NULL;
unsigned n_changes = 0, i;
size_t n_changes = 0, i;
UnitFileFlags flags;
char **p;
int r;
@ -6809,7 +6809,7 @@ static int run_editor(char **paths) {
const char **args;
char *editor, **editor_args = NULL;
char **tmp_path, **original_path, *p;
unsigned n_editor_args = 0, i = 1;
size_t n_editor_args = 0, i = 1;
size_t argc;
argc = strv_length(paths)/2 + 1;

View File

@ -17,7 +17,7 @@ static void test_basic_mask_and_enable(const char *root) {
const char *p;
UnitFileState state;
UnitFileChange *changes = NULL;
unsigned n_changes = 0;
size_t n_changes = 0;
log_set_max_level(LOG_DEBUG);
@ -158,7 +158,7 @@ static void test_linked_units(const char *root) {
const char *p, *q;
UnitFileState state;
UnitFileChange *changes = NULL;
unsigned n_changes = 0, i;
size_t n_changes = 0, i;
/*
* We'll test three cases here:
@ -303,7 +303,7 @@ static void test_linked_units(const char *root) {
static void test_default(const char *root) {
_cleanup_free_ char *def = NULL;
UnitFileChange *changes = NULL;
unsigned n_changes = 0;
size_t n_changes = 0;
const char *p;
p = strjoina(root, "/usr/lib/systemd/system/test-default-real.target");
@ -338,7 +338,7 @@ static void test_default(const char *root) {
static void test_add_dependency(const char *root) {
UnitFileChange *changes = NULL;
unsigned n_changes = 0;
size_t n_changes = 0;
const char *p;
p = strjoina(root, "/usr/lib/systemd/system/real-add-dependency-test-target.target");
@ -365,7 +365,7 @@ static void test_add_dependency(const char *root) {
static void test_template_enable(const char *root) {
UnitFileChange *changes = NULL;
unsigned n_changes = 0;
size_t n_changes = 0;
UnitFileState state;
const char *p;
@ -479,7 +479,7 @@ static void test_template_enable(const char *root) {
static void test_indirect(const char *root) {
UnitFileChange *changes = NULL;
unsigned n_changes = 0;
size_t n_changes = 0;
UnitFileState state;
const char *p;
@ -528,7 +528,7 @@ static void test_indirect(const char *root) {
static void test_preset_and_list(const char *root) {
UnitFileChange *changes = NULL;
unsigned n_changes = 0, i;
size_t n_changes = 0, i;
const char *p, *q;
UnitFileState state;
bool got_yes = false, got_no = false;
@ -638,7 +638,7 @@ static void test_revert(const char *root) {
const char *p;
UnitFileState state;
UnitFileChange *changes = NULL;
unsigned n_changes = 0;
size_t n_changes = 0;
assert(root);
@ -687,7 +687,7 @@ static void test_revert(const char *root) {
static void test_preset_order(const char *root) {
UnitFileChange *changes = NULL;
unsigned n_changes = 0;
size_t n_changes = 0;
const char *p;
UnitFileState state;
@ -758,7 +758,7 @@ static void test_with_dropin(const char *root) {
const char *p;
UnitFileState state;
UnitFileChange *changes = NULL;
unsigned n_changes = 0;
size_t n_changes = 0;
assert_se(unit_file_get_state(UNIT_FILE_SYSTEM, root, "with-dropin-1.service", &state) == -ENOENT);
assert_se(unit_file_get_state(UNIT_FILE_SYSTEM, root, "with-dropin-2.service", &state) == -ENOENT);
@ -891,7 +891,7 @@ static void test_with_dropin_template(const char *root) {
const char *p;
UnitFileState state;
UnitFileChange *changes = NULL;
unsigned n_changes = 0;
size_t n_changes = 0;
assert_se(unit_file_get_state(UNIT_FILE_SYSTEM, root, "with-dropin-1@.service", &state) == -ENOENT);
assert_se(unit_file_get_state(UNIT_FILE_SYSTEM, root, "with-dropin-2@.service", &state) == -ENOENT);

View File

@ -31,7 +31,7 @@ int main(int argc, char* argv[]) {
const char *const files[] = { "avahi-daemon.service", NULL };
const char *const files2[] = { "/home/lennart/test.service", NULL };
UnitFileChange *changes = NULL;
unsigned n_changes = 0;
size_t n_changes = 0;
UnitFileState state = 0;
log_set_max_level(LOG_DEBUG);