Convert to a global struct, the way sed was. Now I have two, I can work out
authorRob Landley <rob@landley.net>
Sun, 21 May 2006 18:33:27 +0000 (18:33 -0000)
committerRob Landley <rob@landley.net>
Sun, 21 May 2006 18:33:27 +0000 (18:33 -0000)
the infrastructure to merge global structs into a union...

util-linux/mdev.c

index 73938f8deee6b6e8c7018ab5a4676a85eafddce6..d0c40e2ae0b241b0148eb04289aac6740aafe019 100644 (file)
 
 #include <busybox.h>
 
-int root_major, root_minor;
+struct mdev_globals
+{
+       int root_major, root_minor;
+} mdev_globals;
+
+#define bbg mdev_globals
 
 /* mknod in /dev based on a path like "/sys/block/hda/hda1" */
 static void make_device(char *path)
@@ -173,7 +178,7 @@ found_device:
        if (mknod(device_name, mode | type, makedev(major, minor)) && errno != EEXIST)
                bb_perror_msg_and_die("mknod %s failed", device_name);
 
-       if (major==root_major && minor==root_minor)
+       if (major==bbg.root_major && minor==bbg.root_minor)
                symlink(device_name, "root");
        
        if (ENABLE_FEATURE_MDEV_CONF) chown(device_name, uid, gid);
@@ -226,8 +231,8 @@ int mdev_main(int argc, char *argv[])
                struct stat st;
 
                stat("/", &st);  // If this fails, we have bigger problems.
-               root_major=major(st.st_dev);
-               root_minor=minor(st.st_dev);
+               bbg.root_major=major(st.st_dev);
+               bbg.root_minor=minor(st.st_dev);
                strcpy(temp,"/sys/block");
                find_dev(temp);
                strcpy(temp,"/sys/class");