libbb: updated config_parse() from Vladimir

function                                             old     new   delta
config_read                                          385     460     +75
runsvdir_main                                       1701    1716     +15
readit                                               331     338      +7
passwd_main                                         1049    1053      +4
parse_command                                       1504    1507      +3
decode_format_string                                 822     824      +2
bb__parsespent                                       117     119      +2
udhcp_get_option                                     221     222      +1
changepath                                           196     194      -2
parse_inittab                                        400     396      -4
nameif_main                                          683     679      -4
make_device                                         1176    1172      -4
config_open                                           48      40      -8
expand_main                                          698     689      -9
readcmd                                             1012    1002     -10
config_free_data                                      37      21     -16
SynchronizeFile                                      683     643     -40
sleep_main                                           474     362    -112
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 8/10 up/down: 109/-209)        Total: -100 bytes
This commit is contained in:
Denis Vlasenko
2008-07-19 09:27:19 +00:00
parent bd28f6bf7f
commit 2e157ddf9e
10 changed files with 205 additions and 53 deletions

View File

@ -469,12 +469,15 @@ static void SynchronizeFile(const char *fileName)
file->cf_User = xstrdup(fileName);
pline = &file->cf_LineBase;
while (--maxLines && (n=config_read(parser, tokens, 6, 0, " \t", '#')) >= 0) {
while (--maxLines
&& (n = config_read(parser, tokens, 6, 1, "# \t", PARSE_LAST_IS_GREEDY))
) {
CronLine *line;
if (DebugOpt) {
crondlog(LVL5 "user:%s entry:%s", fileName, parser->data);
}
USE_FEATURE_PARSE_COPY(
if (DebugOpt)
crondlog(LVL5 "user:%s entry:%s", fileName, parser->data);
)
/* check if line is setting MAILTO= */
if (0 == strncmp(tokens[0], "MAILTO=", 7)) {
@ -485,7 +488,7 @@ static void SynchronizeFile(const char *fileName)
continue;
}
/* check if a minimum of tokens is specified */
if (n < 5)
if (n < 6)
continue;
*pline = line = xzalloc(sizeof(CronLine));
/* parse date ranges */