diff options
author | Jeff Trawick <trawick@apache.org> | 2012-10-11 17:11:31 +0000 |
---|---|---|
committer | Jeff Trawick <trawick@apache.org> | 2012-10-11 17:11:31 +0000 |
commit | df3f06b4e8d42538e2502caf42ce1a8e1347b3ba (patch) | |
tree | ee891c033b7a052bcf1e5dc1fcfd568902ba44e5 /server/config.c | |
parent | 363e1456965f6eb8cd958df5cb6a0daab9e22ea0 (diff) | |
download | httpd-df3f06b4e8d42538e2502caf42ce1a8e1347b3ba.tar.gz |
"Iterate" directives: Report an error if no arguments are provided.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1397172 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'server/config.c')
-rw-r--r-- | server/config.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/server/config.c b/server/config.c index a9adddd75f..ffc6694870 100644 --- a/server/config.c +++ b/server/config.c @@ -980,12 +980,20 @@ static const char *invoke_cmd(const command_rec *cmd, cmd_parms *parms, return cmd->AP_TAKE3(parms, mconfig, w, w2, w3); case ITERATE: - while (*(w = ap_getword_conf(parms->pool, &args)) != '\0') { + w = ap_getword_conf(parms->pool, &args); + + if (*w == '\0') + return apr_pstrcat(parms->pool, cmd->name, + " requires at least one argument", + cmd->errmsg ? ", " : NULL, cmd->errmsg, NULL); + while (*w != '\0') { errmsg = cmd->AP_TAKE1(parms, mconfig, w); if (errmsg && strcmp(errmsg, DECLINE_CMD) != 0) return errmsg; + + w = ap_getword_conf(parms->pool, &args); } return errmsg; |