diff --git a/src/tool_cfgable.h b/src/tool_cfgable.h index 69c2c2ee9ad41a79faac73e77f925f840f3763cc..78d17c7d333a25a43dfac8b71b217ac4ba4f1ebc 100644 --- a/src/tool_cfgable.h +++ b/src/tool_cfgable.h @@ -224,6 +224,7 @@ struct GlobalConfig { CURL *easy; /* Once we have one, we keep it here */ struct OperationConfig *first; + struct OperationConfig *current; struct OperationConfig *last; /* Always last in the struct */ }; diff --git a/src/tool_operate.c b/src/tool_operate.c index 25aa9413d12ddef4d3033d33d37de235b2a11a2f..6458c11a9516f2a085d74c0cba0902cec44f6e99 100644 --- a/src/tool_operate.c +++ b/src/tool_operate.c @@ -1831,14 +1831,14 @@ CURLcode operate(struct GlobalConfig *config, int argc, argv_item_t argv[]) operation = operation->next; } - /* Reset the operation pointer */ - operation = config->first; + /* Set the current operation pointer */ + config->current = config->first; /* Perform each operation */ - while(!result && operation) { - result = operate_do(operation); + while(!result && config->current) { + result = operate_do(config->current); - operation = operation->next; + config->current = config->current->next; } } }