Skip to content
Permalink
Browse files

cli tool: do not use mime.h private structures.

Option -F generates an intermediate representation of the mime structure
that is used later to create the libcurl mime structure and generate
the --libcurl statements.

Reported-by: Daniel Stenberg
Fixes #3532
Closes #3546
  • Loading branch information...
monnerat committed Feb 11, 2019
1 parent b75fb9b commit cac0e4a6ad14b42471ebc62e82ecdb7dad164702
Showing with 546 additions and 481 deletions.
  1. +2 −2 src/tool_cfgable.c
  2. +5 −3 src/tool_cfgable.h
  3. +281 −328 src/tool_formparse.c
  4. +43 −3 src/tool_formparse.h
  5. +209 −143 src/tool_setopt.c
  6. +4 −2 src/tool_setopt.h
  7. +2 −0 tests/data/test1404
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
* Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -145,7 +145,7 @@ static void free_config_fields(struct OperationConfig *config)
curl_slist_free_all(config->proxyheaders);

if(config->mimepost) {
curl_mime_free(config->mimepost);
tool_mime_free(config->mimepost);
config->mimepost = NULL;
}
config->mimecurrent = NULL;
@@ -7,7 +7,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
* Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -27,6 +27,8 @@

#include "tool_metalink.h"

#include "tool_formparse.h"

typedef enum {
ERR_NONE,
ERR_BINARY_TERMINAL = 1, /* binary to terminal detected */
@@ -176,8 +178,8 @@ struct OperationConfig {
curl_off_t condtime;
struct curl_slist *headers;
struct curl_slist *proxyheaders;
curl_mime *mimepost;
curl_mime *mimecurrent;
tool_mime *mimepost;
tool_mime *mimecurrent;
struct curl_slist *telnet_options;
struct curl_slist *resolve;
struct curl_slist *connect_to;

0 comments on commit cac0e4a

Please sign in to comment.
You can’t perform that action at this time.