The argument given to the __attribute__((cleanup)) functions is the
address of the variable that's going out of scope. It cannot be NULL.
The "if (!s)" check in set_freep() is pointless.
Perhaps "if (!*s)" was intented. But that's pointless too, because
set_free()/set_free_free() are OK to call with a NULL argument (just
like free()).
Setting "*s = NULL" is pointless, because the variable that s points
to is about to go out of scope.
The same holds for strv_freep().
}
void set_freep(Set **s) {
- if (!s)
- return;
-
set_free(*s);
- *s = NULL;
}
void set_free_free(Set *s) {
}
void set_free_freep(Set **s) {
- if (!*s)
- return;
-
set_free_free(*s);
- *s = NULL;
}
int set_ensure_allocated(Set **s, hash_func_t hash_func, compare_func_t compare_func) {
}
void strv_freep(char ***l) {
- if (!l)
- return;
-
strv_free(*l);
- *l = NULL;
}
char **strv_copy(char **l) {