chiark / gitweb /
dev-setup: make NULL as parameter for dev_setup() equivalent to ""
authorLennart Poettering <lennart@poettering.net>
Tue, 21 Aug 2012 15:23:03 +0000 (17:23 +0200)
committerLennart Poettering <lennart@poettering.net>
Tue, 21 Aug 2012 15:23:03 +0000 (17:23 +0200)
src/core/mount-setup.c
src/shared/dev-setup.c
src/udev/udevd.c

index be11bb8f369a1a18741ad0adaf281cd3c42d9f02..1a82a46fefeac92cabe1642ee4f405b0624ea01a 100644 (file)
@@ -398,7 +398,7 @@ int mount_setup(bool loaded_policy) {
         /* Create a few default symlinks, which are normally created
          * by udevd, but some scripts might need them before we start
          * udevd. */
-        dev_setup("");
+        dev_setup(NULL);
 
         /* Mark the root directory as shared in regards to mount
          * propagation. The kernel defaults to "private", but we think
index 759ecd799fd04706bf6fe9562e1d4f6b2a0bfcc5..b0ac02d4611ef6e7110624d5764036161b350b5f 100644 (file)
@@ -50,7 +50,7 @@ static int symlink_and_label(const char *old_path, const char *new_path) {
         return r;
 }
 
-void dev_setup(const char *pathprefix) {
+void dev_setup(const char *prefix) {
         const char *j, *k;
 
         static const char symlinks[] =
@@ -61,15 +61,18 @@ void dev_setup(const char *pathprefix) {
                 "/proc/self/fd/2\0"  "/dev/stderr\0";
 
         NULSTR_FOREACH_PAIR(j, k, symlinks) {
-                char *linkname;
 
-                if (asprintf(&linkname, "%s/%s", pathprefix, k) < 0) {
-                        log_oom();
-                        break;
-                }
+                if (prefix) {
+                        char *linkname;
 
-                symlink_and_label(j, linkname);
+                        if (asprintf(&linkname, "%s/%s", prefix, k) < 0) {
+                                log_oom();
+                                break;
+                        }
 
-                free(linkname);
+                        symlink_and_label(j, linkname);
+                        free(linkname);
+                } else
+                        symlink_and_label(j, k);
         }
 }
index 1bb15d8c9e6c5eda92b986f2f05093e8abd2bd84..b4fc624db3d45389665b76d3ba8f333f302cfe13 100644 (file)
@@ -1155,7 +1155,7 @@ int main(int argc, char *argv[])
 
         mkdir("/run/udev", 0755);
 
-        dev_setup("");
+        dev_setup(NULL);
         static_dev_create_from_modules(udev);
 
         /* before opening new files, make sure std{in,out,err} fds are in a sane state */