There's a bug in bug in the multipath.conf code that keeps multipath from
correctly parsing config files where there is no space between a section name
and the opening bracket. For instance
devices {
device {
...
}
}
works but
devices {
device{
...
}
}
doesn't. This patch makes sure that brackets are the recognized as seperate from
the token that they follow, unless they are part of a quoted string.
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
in_string = 0;
else
in_string = 1;
+ } else if (!in_string && (*cp == '{' || *cp == '}')) {
+ token = MALLOC(2);
+
+ if (!token)
+ goto out;
+ *(token) = *cp;
+ *(token + 1) = '\0';
+ cp++;
} else {
while ((in_string ||
(!isspace((int) *cp) && isascii((int) *cp) &&
- *cp != '!' && *cp != '#')) &&
- *cp != '\0' && *cp != '"')
+ *cp != '!' && *cp != '#' && *cp != '{' &&
+ *cp != '}')) && *cp != '\0' && *cp != '"')
cp++;
strlen = cp - start;
token = MALLOC(strlen + 1);