Convert to a global struct, the way sed was. Now I have two, I can work out

the infrastructure to merge global structs into a union...
This commit is contained in:
Rob Landley 2006-05-21 18:33:27 +00:00
parent 9ffd42317b
commit 5cd1ccd995

View File

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