X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fshared%2Finstall.c;h=5001ad43be016061fe6b20c6d209c9bd1cecb725;hb=db69869f264af2d1afcdd3e573e0e9fdd5bef065;hp=16504eef0fe7aee6c4306de9a8dbc7e5c7c80ef8;hpb=718db96199eb307751264e4163555662c9a389fa;p=elogind.git diff --git a/src/shared/install.c b/src/shared/install.c index 16504eef0..5001ad43b 100644 --- a/src/shared/install.c +++ b/src/shared/install.c @@ -212,11 +212,10 @@ static int remove_marked_symlinks_fd( for (;;) { struct dirent *de; - union dirent_storage buf; - int k; - k = readdir_r(d, &buf.de, &de); - if (k != 0) { + errno = 0; + de = readdir(d); + if (!de && errno != 0) { r = -errno; break; } @@ -276,10 +275,10 @@ static int remove_marked_symlinks_fd( found = set_get(remove_symlinks_to, dest) || - set_get(remove_symlinks_to, path_get_file_name(dest)); + set_get(remove_symlinks_to, basename(dest)); if (unit_name_is_instance(p)) - found = found && strv_contains(files, path_get_file_name(p)); + found = found && strv_contains(files, basename(p)); if (found) { @@ -373,12 +372,11 @@ static int find_symlinks_fd( } for (;;) { - int k; struct dirent *de; - union dirent_storage buf; - k = readdir_r(d, &buf.de, &de); - if (k != 0) + errno = 0; + de = readdir(d); + if (!de && errno != 0) return -errno; if (!de) @@ -451,7 +449,7 @@ static int find_symlinks_fd( if (path_is_absolute(name)) found_dest = path_equal(dest, name); else - found_dest = streq(path_get_file_name(dest), name); + found_dest = streq(basename(dest), name); if (found_path && found_dest) { _cleanup_free_ char *t = NULL; @@ -718,7 +716,7 @@ int unit_file_link( char *fn; struct stat st; - fn = path_get_file_name(*i); + fn = basename(*i); if (!path_is_absolute(*i) || !unit_name_is_valid(fn, true)) { @@ -861,7 +859,7 @@ static int install_info_add( assert(name || path); if (!name) - name = path_get_file_name(path); + name = basename(path); if (!unit_name_is_valid(name, true)) return -EINVAL; @@ -922,6 +920,7 @@ static int config_parse_also(const char *unit, const char *filename, unsigned line, const char *section, + unsigned section_line, const char *lvalue, int ltype, const char *rvalue, @@ -957,6 +956,7 @@ static int config_parse_user(const char *unit, const char *filename, unsigned line, const char *section, + unsigned section_line, const char *lvalue, int ltype, const char *rvalue, @@ -1427,7 +1427,7 @@ static int install_context_mark_for_removal( char *unit_file; if (i->path) { - unit_file = path_get_file_name(i->path); + unit_file = basename(i->path); if (unit_name_is_instance(unit_file)) /* unit file named as instance exists, thus all symlinks @@ -1645,7 +1645,7 @@ int unit_file_get_default( else if (r < 0) return r; else - n = strdup(path_get_file_name(tmp)); + n = strdup(basename(tmp)); if (!n) return -ENOMEM; @@ -1936,12 +1936,12 @@ int unit_file_get_list( for (;;) { struct dirent *de; - union dirent_storage buffer; _cleanup_unitfilelist_free_ UnitFileList *f = NULL; - r = readdir_r(d, &buffer.de, &de); - if (r != 0) - return -r; + errno = 0; + de = readdir(d); + if (!de && errno != 0) + return -errno; if (!de) break; @@ -2005,7 +2005,7 @@ int unit_file_get_list( f->state = UNIT_FILE_STATIC; found: - r = hashmap_put(h, path_get_file_name(f->path), f); + r = hashmap_put(h, basename(f->path), f); if (r < 0) return r; f = NULL; /* prevent cleanup */