[#1334] exec script for devices even if they dont have device nodes

This commit is contained in:
Mike Frysinger 2008-02-20 18:31:36 +00:00
parent 597906c436
commit ae86a338b8

View File

@ -45,8 +45,13 @@ static void make_device(char *path, int delete)
strcat(path, "/dev"); strcat(path, "/dev");
len = open_read_close(path, temp + 1, 64); len = open_read_close(path, temp + 1, 64);
*temp++ = 0; *temp++ = 0;
if (len < 1) if (len < 1) {
return; if (ENABLE_FEATURE_MDEV_EXEC)
/* no "dev" file, so just try to run script */
*temp = 0;
else
return;
}
} }
/* Determine device name, type, major and minor */ /* Determine device name, type, major and minor */
@ -181,8 +186,12 @@ static void make_device(char *path, int delete)
} }
if (!delete) { if (!delete) {
if (sscanf(temp, "%d:%d", &major, &minor) != 2) if (sscanf(temp, "%d:%d", &major, &minor) != 2) {
return; if (ENABLE_FEATURE_MDEV_EXEC)
goto skip_creation;
else
return;
}
if (ENABLE_FEATURE_MDEV_RENAME) if (ENABLE_FEATURE_MDEV_RENAME)
unlink(device_name); unlink(device_name);
@ -217,6 +226,7 @@ static void make_device(char *path, int delete)
free(dest); free(dest);
} }
} }
skip_creation: /* nothing */ ;
} }
if (ENABLE_FEATURE_MDEV_EXEC && command) { if (ENABLE_FEATURE_MDEV_EXEC && command) {
/* setenv will leak memory, so use putenv */ /* setenv will leak memory, so use putenv */