--- udev-030/dev_d.c.symlink 2004-09-20 15:12:08.511594704 +0200 +++ udev-030/dev_d.c 2004-09-20 15:16:27.944154960 +0200 @@ -65,22 +84,31 @@ { char dirname[256]; char env_devname[NAME_SIZE]; + char env_symlink[NAME_SIZE]; char *devname; char *temp; if (udev_dev_d == 0) return; + env_devname[0] = 0; + env_symlink[0] = 0; + if (dev->type == 'b' || dev->type == 'c') { strfieldcpy(env_devname, udev_root); strfieldcat(env_devname, dev->name); + if (dev->symlink[0]) { + strfieldcpy(env_symlink, udev_root); + strfieldcat(env_symlink, dev->symlink); + } } else if (dev->type == 'n') { strfieldcpy(env_devname, dev->name); setenv("DEVPATH", devpath, 1); } - else env_devname[0] = 0; setenv("DEVNAME", env_devname, 1); dbg("DEVNAME='%s'", env_devname); + setenv("SYMLINK", env_symlink, 1); + dbg("SYMLINK='%s'", env_symlink); devname = strdup(dev->name); if (!devname) {