summaryrefslogtreecommitdiff
path: root/services/modstack.c
diff options
context:
space:
mode:
Diffstat (limited to 'services/modstack.c')
-rw-r--r--services/modstack.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/services/modstack.c b/services/modstack.c
index 2bc79c4adfd7..f5913dc387c9 100644
--- a/services/modstack.c
+++ b/services/modstack.c
@@ -262,6 +262,7 @@ int
modstack_call_init(struct module_stack* stack, const char* module_conf,
struct module_env* env)
{
+ const char* orig_module_conf = module_conf;
int i, changed = 0;
env->need_to_validate = 0; /* set by module init below */
for(i=0; i<stack->num; i++) {
@@ -276,11 +277,13 @@ modstack_call_init(struct module_stack* stack, const char* module_conf,
changed = 1;
}
}
- module_conf += strlen(stack->mod[i]->name);
+ /* Skip this module name in module_conf. */
+ while(*module_conf && !isspace((unsigned char)*module_conf))
+ module_conf++;
}
if(changed) {
modstack_free(stack);
- if(!modstack_config(stack, module_conf)) {
+ if(!modstack_config(stack, orig_module_conf)) {
return 0;
}
}