config: fix specifying configuration value with equality sign
authorLukas Czerner <lczerner@redhat.com>
Fri, 11 Apr 2014 00:09:48 +0000 (10:09 +1000)
committerDave Chinner <david@fromorbit.com>
Fri, 11 Apr 2014 00:09:48 +0000 (10:09 +1000)
Currently there is a problem with parse_config_section() when the
configuration value contains equality sign like this for example:

MOUNT_OPTIONS="-o data=journal"

the result will be

export MOUNT_OPTIONS="-o data="journal"

which is not going to work. The reason is that the expression used to
parse the configuration options uses greedy matching '.*'. Fix this by
using non greedy expression to match the first equality sign '[^=]'.

Signed-off-by: Lukas Czerner <lczerner@redhat.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
common/config

index 00249e6a48a57517c1eb50899953a358920f8a1d..49f34cf4d8dd4d64094378edd9ca4c98f9e8724b 100644 (file)
@@ -349,7 +349,7 @@ parse_config_section() {
                -e 's/#.*$//' \
                -e 's/[[:space:]]*$//' \
                -e 's/^[[:space:]]*//' \
-               -e "s/^\(.*\)=\"\?'\?\([^\"']*\)\"\?'\?$/export \1=\"\2\"/" \
+               -e "s/^\([^=]*\)=\"\?'\?\([^\"']*\)\"\?'\?$/export \1=\"\2\"/" \
                < $HOST_OPTIONS \
                | sed -n -e "/^\[$SECTION\]/,/^\s*\[/{/^[^#].*\=.*/p;}"`
 }