From fc59a9e18f21c8dc95ead90ef67946f18d555087 Mon Sep 17 00:00:00 2001
From: Steve Holme <steve_holme@hotmail.com>
Date: Sun, 23 Feb 2014 18:01:36 +0000
Subject: tool: Added support to .curlrc for URL specific options

In addition to adding support for URL specific options via the command
line with --next it is now possible to specify "next" in .curlrc.
---
 src/tool_parsecfg.c | 24 +++++++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

diff --git a/src/tool_parsecfg.c b/src/tool_parsecfg.c
index da10c878f..9adbe8229 100644
--- a/src/tool_parsecfg.c
+++ b/src/tool_parsecfg.c
@@ -225,7 +225,29 @@ int parseconfig(const char *filename, struct GlobalConfig *global)
         /* we passed in a parameter that wasn't used! */
         res = PARAM_GOT_EXTRA_PARAMETER;
 
-      if(res != PARAM_OK) {
+      if(res == PARAM_NEXT_OPERATION) {
+        if(operation->url_list && operation->url_list->url) {
+          /* Allocate the next config */
+          operation->next = malloc(sizeof(struct OperationConfig));
+          if(operation->next) {
+            /* Initialise the newly created config */
+            config_init(operation->next);
+
+            /* Copy the easy handle */
+            operation->next->easy = global->easy;
+
+            /* Update the last operation pointer */
+            global->last = operation->next;
+
+            /* Move onto the new config */
+            operation->next->prev = operation;
+            operation = operation->next;
+          }
+          else
+            res = PARAM_NO_MEM;
+        }
+      }
+      else if(res != PARAM_OK) {
         /* the help request isn't really an error */
         if(!strcmp(filename, "-")) {
           filename = (char *)"<stdin>";
-- 
cgit v1.2.3