* lib/device.c (read_device_map): Show an error message and exit
abnormally, if MAP[DRIVE] has already been filled.
* util/grub-install.in: If there is any dulicated entry, print
an error message and exit abnormally.
+2002-05-20 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * lib/device.c (read_device_map): Show an error message and exit
+ abnormally, if MAP[DRIVE] has already been filled.
+ * util/grub-install.in: If there is any dulicated entry, print
+ an error message and exit abnormally.
+
2002-05-20 Yoshinori K. Okuji <okuji@enbug.org>
* lib/device.c: Don't include linux/hdreg.h, linux/major.h,
while (*eptr && ! isspace (*eptr))
eptr++;
*eptr = 0;
+
+ /* Multiple entries for a given drive is not allowed. */
+ if (map[drive])
+ {
+ show_error (line_number, "Duplicated entry found");
+ return 0;
+ }
map[drive] = strdup (ptr);
assert (map[drive]);
rm -f $log_file
fi
+# Make sure that there is no duplicated entry.
+tmp=`sed -n '/^([fh]d[0-9]*)/s/\(^(.*)\).*/\1/p' $device_map \
+ | sort | uniq -d | sed -n 1p`
+if test -n "$tmp"; then
+ echo "The drive $tmp is defined multiple times in the device map $device_map" 1>&2
+ exit 1
+fi
+
# Check for INSTALL_DEVICE.
case "$install_device" in
/dev/*)