From 9288a96e2a62c7cedc423a9613c3ec440a5dc5d3 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Fri, 10 Sep 2021 15:28:20 +0200 Subject: parse_args: redo the warnings for --remote-header-name combos ... to avoid the memory leak risk pointed out by scan-build. Follow-up from 7a3e981781d6c18a --- src/tool_getparam.c | 16 +++++----------- src/tool_getparam.h | 4 +++- src/tool_helpers.c | 6 +++++- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/tool_getparam.c b/src/tool_getparam.c index 56fc35cf5..1e1827fc1 100644 --- a/src/tool_getparam.c +++ b/src/tool_getparam.c @@ -2384,17 +2384,11 @@ ParameterError parse_args(struct GlobalConfig *global, int argc, curlx_unicodefree(orig_opt); } - if(config->content_disposition) { - if(config->show_headers) { - helpf(global->errors, "--include and --remote-header-name " - "cannot be combined.\n"); - return PARAM_BAD_USE; - } - if(config->resume_from_current) { - helpf(global->errors, "--continue-at - and --remote-header-name " - "cannot be combined.\n"); - return PARAM_BAD_USE; - } + if(!result && config->content_disposition) { + if(config->show_headers) + result = PARAM_CONTDISP_SHOW_HEADER; + else if(config->resume_from_current) + result = PARAM_CONTDISP_RESUME_FROM; } if(result && result != PARAM_HELP_REQUESTED && diff --git a/src/tool_getparam.h b/src/tool_getparam.h index 2c24d4835..599a0ac88 100644 --- a/src/tool_getparam.h +++ b/src/tool_getparam.h @@ -7,7 +7,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2020, Daniel Stenberg, , et al. + * Copyright (C) 1998 - 2021, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms @@ -43,6 +43,8 @@ typedef enum { PARAM_NO_PREFIX, PARAM_NUMBER_TOO_LARGE, PARAM_NO_NOT_BOOLEAN, + PARAM_CONTDISP_SHOW_HEADER, /* --include and --remote-header-name */ + PARAM_CONTDISP_RESUME_FROM, /* --continue-at and --remote-header-name */ PARAM_LAST } ParameterError; diff --git a/src/tool_helpers.c b/src/tool_helpers.c index 8cd2ac58a..04b0510be 100644 --- a/src/tool_helpers.c +++ b/src/tool_helpers.c @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2020, Daniel Stenberg, , et al. + * Copyright (C) 1998 - 2021, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms @@ -68,6 +68,10 @@ const char *param2text(int res) return "too large number"; case PARAM_NO_NOT_BOOLEAN: return "used '--no-' for option that isn't a boolean"; + case PARAM_CONTDISP_SHOW_HEADER: + return "--include and --remote-header-name cannot be combined"; + case PARAM_CONTDISP_RESUME_FROM: + return "--continue-at and --remote-header-name cannot be combined"; default: return "unknown error"; } -- cgit v1.2.1