libbb/parse_config.c: fix small buglet (by Vladimir)
This commit is contained in:
parent
a34f1ed737
commit
9b366f4136
@ -199,6 +199,7 @@ int FAST_FUNC config_read(parser_t *parser, char **tokens, unsigned flags, const
|
|||||||
} else {
|
} else {
|
||||||
// vanilla token. cut the line at the first delim
|
// vanilla token. cut the line at the first delim
|
||||||
q = line + strcspn(line, delims);
|
q = line + strcspn(line, delims);
|
||||||
|
if (*q) // watch out: do not step past the line end!
|
||||||
*q++ = '\0';
|
*q++ = '\0';
|
||||||
}
|
}
|
||||||
// pin token
|
// pin token
|
||||||
@ -207,6 +208,7 @@ int FAST_FUNC config_read(parser_t *parser, char **tokens, unsigned flags, const
|
|||||||
tokens[ii++] = line;
|
tokens[ii++] = line;
|
||||||
}
|
}
|
||||||
line = q;
|
line = q;
|
||||||
|
//bb_info_msg("A[%s]", line);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ii < mintokens)
|
if (ii < mintokens)
|
||||||
|
@ -23,7 +23,7 @@ testing "notrim" \
|
|||||||
"-" \
|
"-" \
|
||||||
" sda 0:0 644 @echo @echo TEST \n"
|
" sda 0:0 644 @echo @echo TEST \n"
|
||||||
|
|
||||||
FILE=__parse.fstab
|
FILE=__parse
|
||||||
cat >$FILE <<EOF
|
cat >$FILE <<EOF
|
||||||
#
|
#
|
||||||
# Device Point System Options
|
# Device Point System Options
|
||||||
@ -59,6 +59,47 @@ testing "polluted fstab" \
|
|||||||
"`cat $FILE.res`\n" \
|
"`cat $FILE.res`\n" \
|
||||||
"" \
|
"" \
|
||||||
""
|
""
|
||||||
|
cp ../examples/inittab $FILE
|
||||||
|
cat >$FILE.res <<EOF
|
||||||
|
[][][sysinit][/etc/init.d/rcS]
|
||||||
|
[][][askfirst][-/bin/sh]
|
||||||
|
[tty2][][askfirst][-/bin/sh]
|
||||||
|
[tty3][][askfirst][-/bin/sh]
|
||||||
|
[tty4][][askfirst][-/bin/sh]
|
||||||
|
[tty4][][respawn][/sbin/getty 38400 tty5]
|
||||||
|
[tty5][][respawn][/sbin/getty 38400 tty6]
|
||||||
|
[][][restart][/sbin/init]
|
||||||
|
[][][ctrlaltdel][/sbin/reboot]
|
||||||
|
[][][shutdown][/bin/umount -a -r]
|
||||||
|
[][][shutdown][/sbin/swapoff -a]
|
||||||
|
EOF
|
||||||
|
|
||||||
|
testing "inittab from examples" \
|
||||||
|
"parse -n 4 -m 4 -f $(($GREEDY+$NO_TRIM)) -d'#:' $FILE" \
|
||||||
|
"`cat $FILE.res`\n" \
|
||||||
|
"" \
|
||||||
|
""
|
||||||
|
|
||||||
|
cp ../examples/udhcp/udhcpd.conf $FILE
|
||||||
|
cat >$FILE.res <<EOF
|
||||||
|
[start][192.168.0.20]
|
||||||
|
[end][192.168.0.254]
|
||||||
|
[interface][eth0]
|
||||||
|
[opt][dns][192.168.10.2][192.168.10.10]
|
||||||
|
[option][subnet][255.255.255.0]
|
||||||
|
[opt][router][192.168.10.2]
|
||||||
|
[opt][wins][192.168.10.10]
|
||||||
|
[option][dns][129.219.13.81]
|
||||||
|
[option][domain][local]
|
||||||
|
[option][lease][864000]
|
||||||
|
EOF
|
||||||
|
|
||||||
|
testing "udhcpd.conf from examples" \
|
||||||
|
"parse -n 127 $FILE" \
|
||||||
|
"`cat $FILE.res`\n" \
|
||||||
|
"" \
|
||||||
|
""
|
||||||
|
|
||||||
rm -f $FILE $FILE.res
|
rm -f $FILE $FILE.res
|
||||||
|
|
||||||
exit $FAILCOUNT
|
exit $FAILCOUNT
|
||||||
|
Loading…
Reference in New Issue
Block a user