return 0;
}
-int readlink_and_make_absolute(const char *p, char **r) {
+int readlink_and_make_absolute(const char *p, char **ret) {
_cleanup_free_ char *target = NULL;
- char *k;
- int j;
+ int r;
assert(p);
- assert(r);
-
- j = readlink_malloc(p, &target);
- if (j < 0)
- return j;
+ assert(ret);
- k = file_in_same_dir(p, target);
- if (!k)
- return -ENOMEM;
+ r = readlink_malloc(p, &target);
+ if (r < 0)
+ return r;
- *r = k;
- return 0;
+ return file_in_same_dir(p, target, ret);
}
int chmod_and_chown_at(int dir_fd, const char *path, mode_t mode, uid_t uid, gid_t gid) {