X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fshared%2Finstall.c;h=b22019d7b5ddcb24ca9a7967c9280de2d9fa2444;hp=75d6ca36192b9a1e59f6b3cef7e021af208230b4;hb=ef42202ac8ed27e7ff1fc90ef8bc2590046dff25;hpb=e8e581bf256b8c0fbd430935af79fa0e8ee570a1 diff --git a/src/shared/install.c b/src/shared/install.c index 75d6ca361..b22019d7b 100644 --- a/src/shared/install.c +++ b/src/shared/install.c @@ -178,11 +178,9 @@ static int mark_symlink_for_removal( path_kill_slashes(n); - r = set_put(*remove_symlinks_to, n); - if (r < 0) { - free(n); + r = set_consume(*remove_symlinks_to, n); + if (r < 0) return r == -EEXIST ? 0 : r; - } return 0; } @@ -198,7 +196,7 @@ static int remove_marked_symlinks_fd( char** files) { int r = 0; - DIR _cleanup_closedir_ *d = NULL; + _cleanup_closedir_ DIR *d = NULL; assert(remove_symlinks_to); assert(fd >= 0); @@ -235,7 +233,7 @@ static int remove_marked_symlinks_fd( if (de->d_type == DT_DIR) { int nfd, q; - char _cleanup_free_ *p = NULL; + _cleanup_free_ char *p = NULL; nfd = openat(fd, de->d_name, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW); if (nfd < 0) { @@ -260,7 +258,7 @@ static int remove_marked_symlinks_fd( r = q; } else if (de->d_type == DT_LNK) { - char _cleanup_free_ *p = NULL, *dest = NULL; + _cleanup_free_ char *p = NULL, *dest = NULL; int q; bool found; @@ -362,7 +360,7 @@ static int find_symlinks_fd( bool *same_name_link) { int r = 0; - DIR _cleanup_closedir_ *d = NULL; + _cleanup_closedir_ DIR *d = NULL; assert(name); assert(fd >= 0); @@ -395,7 +393,7 @@ static int find_symlinks_fd( if (de->d_type == DT_DIR) { int nfd, q; - char _cleanup_free_ *p = NULL; + _cleanup_free_ char *p = NULL; nfd = openat(fd, de->d_name, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW); if (nfd < 0) { @@ -423,7 +421,7 @@ static int find_symlinks_fd( r = q; } else if (de->d_type == DT_LNK) { - char _cleanup_free_ *p = NULL, *dest = NULL; + _cleanup_free_ char *p = NULL, *dest = NULL; bool found_path, found_dest, b = false; int q; @@ -458,7 +456,7 @@ static int find_symlinks_fd( found_dest = streq(path_get_file_name(dest), name); if (found_path && found_dest) { - char _cleanup_free_ *t = NULL; + _cleanup_free_ char *t = NULL; /* Filter out same name links in the main * config path */ @@ -508,7 +506,7 @@ static int find_symlinks_in_scope( UnitFileState *state) { int r; - char _cleanup_free_ *path = NULL; + _cleanup_free_ char *path = NULL; bool same_name_link_runtime = false, same_name_link = false; assert(scope >= 0); @@ -567,7 +565,7 @@ int unit_file_mask( unsigned *n_changes) { char **i; - char _cleanup_free_ *prefix; + _cleanup_free_ char *prefix; int r; assert(scope >= 0); @@ -578,7 +576,7 @@ int unit_file_mask( return r; STRV_FOREACH(i, files) { - char _cleanup_free_ *path = NULL; + _cleanup_free_ char *path = NULL; if (!unit_name_is_valid(*i, true)) { if (r == 0) @@ -700,9 +698,9 @@ int unit_file_link( UnitFileChange **changes, unsigned *n_changes) { - LookupPaths _cleanup_lookup_paths_free_ paths = {}; + _cleanup_lookup_paths_free_ LookupPaths paths = {}; char **i; - char _cleanup_free_ *config_path = NULL; + _cleanup_free_ char *config_path = NULL; int r, q; assert(scope >= 0); @@ -717,7 +715,7 @@ int unit_file_link( return r; STRV_FOREACH(i, files) { - char _cleanup_free_ *path = NULL; + _cleanup_free_ char *path = NULL; char *fn; struct stat st; @@ -758,7 +756,7 @@ int unit_file_link( } if (errno == EEXIST) { - char _cleanup_free_ *dest = NULL; + _cleanup_free_ char *dest = NULL; q = readlink_and_make_absolute(path, &dest); @@ -941,7 +939,7 @@ static int config_parse_also(const char *unit, assert(rvalue); FOREACH_WORD_QUOTED(w, l, rvalue, state) { - char _cleanup_free_ *n; + _cleanup_free_ char *n; int r; n = strndup(w, l); @@ -999,7 +997,7 @@ static int unit_file_load( }; int fd; - FILE _cleanup_fclose_ *f = NULL; + _cleanup_fclose_ FILE *f = NULL; int r; assert(c); @@ -1117,7 +1115,7 @@ static int unit_file_can_install( const char *name, bool allow_symlink) { - InstallContext _cleanup_install_context_done_ c = {}; + _cleanup_install_context_done_ InstallContext c = {}; InstallInfo *i; int r; @@ -1148,7 +1146,7 @@ static int create_symlink( UnitFileChange **changes, unsigned *n_changes) { - char _cleanup_free_ *dest = NULL; + _cleanup_free_ char *dest = NULL; int r; assert(old_path); @@ -1199,7 +1197,7 @@ static int install_info_symlink_alias( assert(config_path); STRV_FOREACH(s, i->aliases) { - char _cleanup_free_ *alias_path = NULL, *dst = NULL; + _cleanup_free_ char *alias_path = NULL, *dst = NULL; dst = install_full_printf(i, *s); if (!dst) @@ -1231,7 +1229,7 @@ static int install_info_symlink_wants( assert(config_path); STRV_FOREACH(s, i->wanted_by) { - char _cleanup_free_ *path = NULL, *dst = NULL; + _cleanup_free_ char *path = NULL, *dst = NULL; dst = install_full_printf(i, *s); if (!dst) @@ -1268,7 +1266,7 @@ static int install_info_symlink_requires( assert(config_path); STRV_FOREACH(s, i->required_by) { - char _cleanup_free_ *path = NULL, *dst = NULL; + _cleanup_free_ char *path = NULL, *dst = NULL; dst = install_full_printf(i, *s); if (!dst) @@ -1300,7 +1298,7 @@ static int install_info_symlink_link( unsigned *n_changes) { int r; - char _cleanup_free_ *path = NULL; + _cleanup_free_ char *path = NULL; assert(i); assert(paths); @@ -1453,10 +1451,10 @@ int unit_file_enable( UnitFileChange **changes, unsigned *n_changes) { - LookupPaths _cleanup_lookup_paths_free_ paths = {}; - InstallContext _cleanup_install_context_done_ c = {}; + _cleanup_lookup_paths_free_ LookupPaths paths = {}; + _cleanup_install_context_done_ InstallContext c = {}; char **i; - char _cleanup_free_ *config_path = NULL; + _cleanup_free_ char *config_path = NULL; int r; assert(scope >= 0); @@ -1492,11 +1490,11 @@ int unit_file_disable( UnitFileChange **changes, unsigned *n_changes) { - LookupPaths _cleanup_lookup_paths_free_ paths = {}; - InstallContext _cleanup_install_context_done_ c = {}; + _cleanup_lookup_paths_free_ LookupPaths paths = {}; + _cleanup_install_context_done_ InstallContext c = {}; char **i; - char _cleanup_free_ *config_path = NULL; - Set _cleanup_set_free_free_ *remove_symlinks_to = NULL; + _cleanup_free_ char *config_path = NULL; + _cleanup_set_free_free_ Set *remove_symlinks_to = NULL; int r, q; assert(scope >= 0); @@ -1534,11 +1532,11 @@ int unit_file_reenable( UnitFileChange **changes, unsigned *n_changes) { - LookupPaths _cleanup_lookup_paths_free_ paths = {}; - InstallContext _cleanup_install_context_done_ c = {}; + _cleanup_lookup_paths_free_ LookupPaths paths = {}; + _cleanup_install_context_done_ InstallContext c = {}; char **i; - char _cleanup_free_ *config_path = NULL; - Set _cleanup_set_free_free_ *remove_symlinks_to = NULL; + _cleanup_free_ char *config_path = NULL; + _cleanup_set_free_free_ Set *remove_symlinks_to = NULL; int r, q; assert(scope >= 0); @@ -1577,10 +1575,10 @@ UnitFileState unit_file_get_state( const char *root_dir, const char *name) { - LookupPaths _cleanup_lookup_paths_free_ paths = {}; + _cleanup_lookup_paths_free_ LookupPaths paths = {}; UnitFileState state = _UNIT_FILE_STATE_INVALID; char **i; - char _cleanup_free_ *path = NULL; + _cleanup_free_ char *path = NULL; int r; assert(scope >= 0); @@ -1650,7 +1648,7 @@ UnitFileState unit_file_get_state( } int unit_file_query_preset(UnitFileScope scope, const char *name) { - char _cleanup_strv_free_ **files = NULL; + _cleanup_strv_free_ char **files = NULL; char **i; int r; @@ -1680,7 +1678,7 @@ int unit_file_query_preset(UnitFileScope scope, const char *name) { return r; STRV_FOREACH(i, files) { - FILE _cleanup_fclose_ *f; + _cleanup_fclose_ FILE *f; f = fopen(*i, "re"); if (!f) { @@ -1735,11 +1733,11 @@ int unit_file_preset( UnitFileChange **changes, unsigned *n_changes) { - LookupPaths _cleanup_lookup_paths_free_ paths = {}; - InstallContext _cleanup_install_context_done_ plus = {}, minus = {}; + _cleanup_lookup_paths_free_ LookupPaths paths = {}; + _cleanup_install_context_done_ InstallContext plus = {}, minus = {}; char **i; - char _cleanup_free_ *config_path = NULL; - Set _cleanup_set_free_free_ *remove_symlinks_to = NULL; + _cleanup_free_ char *config_path = NULL; + _cleanup_set_free_free_ Set *remove_symlinks_to = NULL; int r, q; assert(scope >= 0); @@ -1801,10 +1799,10 @@ int unit_file_get_list( const char *root_dir, Hashmap *h) { - LookupPaths _cleanup_lookup_paths_free_ paths = {}; + _cleanup_lookup_paths_free_ LookupPaths paths = {}; char **i; - char _cleanup_free_ *buf = NULL; - DIR _cleanup_closedir_ *d = NULL; + _cleanup_free_ char *buf = NULL; + _cleanup_closedir_ DIR *d = NULL; int r; assert(scope >= 0);