mdev: add support for "only rename" option in mdev.conf
No binary (build failed)
—
(log yok)
| @@ -46,6 +46,7 @@ static void make_device(char *path, int delete) | |
| char *dev_maj_min = path + strlen(path); | |
| char *command = NULL; | |
| char *alias = NULL; | |
| + | int aliaslink; |
| /* Force the configuration file settings exactly. */ | |
| umask(0); | |
| @@ -168,11 +169,12 @@ static void make_device(char *path, int delete) | |
| #if ENABLE_FEATURE_MDEV_RENAME | |
| if (!next) | |
| break; | |
| - | if (*next == '>') { |
| + | if (*next == '>' || *next == '=') { |
| #if ENABLE_FEATURE_MDEV_RENAME_REGEXP | |
| char *s, *p; | |
| unsigned i, n; | |
| + | aliaslink = (*next == '>'); |
| val = next; | |
| next = next_field(val); | |
| /* substitute %1..9 with off[1..9], if any */ | |
| @@ -198,6 +200,7 @@ static void make_device(char *path, int delete) | |
| s++; | |
| } | |
| #else | |
| + | aliaslink = (*next == '>'); |
| val = next; | |
| next = next_field(val); | |
| alias = xstrdup(val + 1); | |
| @@ -269,9 +272,8 @@ static void make_device(char *path, int delete) | |
| } | |
| /* recreate device_name as a symlink to moved device node */ | |
| - | if (rename(device_name, alias) == 0) { |
| + | if (rename(device_name, alias) == 0 && aliaslink) |
| symlink(alias, device_name); | |
| - | } |
| free(alias); | |
| } | |