Submitted By: Bruce Dubbs (bdubbs at linuxfromscratch dot org) Date: 2006-07-15 Initial Package Version: 3.2.2 Origin: Upstream Status: This is fixed in 3.3-pre1 Description: Updates modprobe functionality to fix problem where aliases don't quite work properly --- module-init-tools-3.2.2/modprobe.c 2005-12-01 15:42:09.000000000 -0800 +++ module-init-tools-3.3-pre1/modprobe.c 2006-02-04 15:18:07.000000000 -0800 @@ -990,13 +990,27 @@ return ret; } +/* Careful! Don't munge - in [ ] as per Debian Bug#350915 */ static char *underscores(char *string) { if (string) { unsigned int i; - for (i = 0; string[i]; i++) - if (string[i] == '-') - string[i] = '_'; + int inbracket = 0; + for (i = 0; string[i]; i++) { + switch (string[i]) { + case '[': + inbracket++; + break; + case ']': + inbracket--; + break; + case '-': + if (!inbracket) + string[i] = '_'; + } + } + if (inbracket) + warn("Unmatched bracket in %s\n", string); } return string; }