chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
sd-rtnl: message - add support for getting prefixlen from address messages
[elogind.git]
/
src
/
shared
/
dev-setup.c
diff --git
a/src/shared/dev-setup.c
b/src/shared/dev-setup.c
index 50a187fda914c764a0493bbee9ff5c2ee27805f8..1a565d54708c2ea475b8f5c9bff184fc72c48594 100644
(file)
--- a/
src/shared/dev-setup.c
+++ b/
src/shared/dev-setup.c
@@
-50,7
+50,7
@@
static int symlink_and_label(const char *old_path, const char *new_path) {
return r;
}
return r;
}
-
void
dev_setup(const char *prefix) {
+
int
dev_setup(const char *prefix) {
const char *j, *k;
static const char symlinks[] =
const char *j, *k;
static const char symlinks[] =
@@
-64,21
+64,21
@@
void dev_setup(const char *prefix) {
if (j[0] == '-') {
j++;
if (j[0] == '-') {
j++;
- if (access(j, F_OK))
+ if (access(j, F_OK)
< 0
)
continue;
}
if (prefix) {
continue;
}
if (prefix) {
-
char *linkname
;
+
_cleanup_free_ char *link_name = NULL
;
- if (asprintf(&linkname, "%s/%s", prefix, k) < 0) {
- log_oom();
- break;
- }
+ link_name = strjoin(prefix, "/", k, NULL);
+ if (!link_name)
+ return -ENOMEM;
- symlink_and_label(j, linkname);
- free(linkname);
+ symlink_and_label(j, link_name);
} else
symlink_and_label(j, k);
}
} else
symlink_and_label(j, k);
}
+
+ return 0;
}
}