summaryrefslogtreecommitdiffstats
path: root/config.c
diff options
context:
space:
mode:
Diffstat (limited to 'config.c')
-rw-r--r--config.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/config.c b/config.c
index a5d5edd..b444515 100644
--- a/config.c
+++ b/config.c
@@ -214,6 +214,8 @@ mddev_dev_t load_partitions(void)
while (fgets(buf, 1024, f)) {
int major, minor;
char *name, *mp;
+ mddev_dev_t d;
+
buf[1023] = '\0';
if (buf[0] != ' ')
continue;
@@ -223,14 +225,15 @@ mddev_dev_t load_partitions(void)
minor = strtoul(mp, NULL, 10);
name = map_dev(major, minor);
- if (name) {
- mddev_dev_t d;
-
- d = malloc(sizeof(*d));
- d->devname = strdup(name);
- d->next = rv;
- rv = d;
+ if (!name) {
+ snprintf(buf, 1024, "%d:%d", major, minor);
+ name = buf;
}
+
+ d = malloc(sizeof(*d));
+ d->devname = strdup(name);
+ d->next = rv;
+ rv = d;
}
fclose(f);
return rv;