mirror of
https://github.com/curl/curl.git
synced 2026-07-26 08:07:55 +03:00
tool_getparam: refactored, simplified
- add dedicated option functions for bools/none/strings
- simplify clearing (some) arguments, use '*' instead of ' '
- scripts/top-complexity: remove getparameter from whitelist
- handle --help separately
- getstr and getstrn do not allow a NULL input
- improve the ;auto check, it needs to be trailing
- add toggle bit helper function
- unify an error message for bad --no- use
- introduce generic handling of deprecated options: ARG_DEPR
- handle --no- prefix on more booleans:
--cert-status
--doh-cert-status
--false-start
--mptcp
--ssl-no-revoke
--ssl-revoke-best-effort
--tcp-fastopen
Closes #17448
This commit is contained in:
parent
6eea7219a5
commit
698491f444
6 changed files with 1208 additions and 1233 deletions
|
|
@ -317,6 +317,8 @@ typedef enum {
|
|||
#define ARG_TYPEMASK 0x03
|
||||
#define ARGTYPE(x) ((x) & ARG_TYPEMASK)
|
||||
|
||||
#define ARG_DEPR 0x10 /* deprecated option */
|
||||
#define ARG_CLEAR 0x20 /* clear cmdline argument */
|
||||
#define ARG_TLS 0x40 /* requires TLS support */
|
||||
#define ARG_NO 0x80 /* set if the option is documented as --no-* */
|
||||
|
||||
|
|
@ -347,7 +349,6 @@ typedef enum {
|
|||
PARAM_NEXT_OPERATION,
|
||||
PARAM_NO_PREFIX,
|
||||
PARAM_NUMBER_TOO_LARGE,
|
||||
PARAM_NO_NOT_BOOLEAN,
|
||||
PARAM_CONTDISP_RESUME_FROM, /* --continue-at and --remote-header-name */
|
||||
PARAM_READ_ERROR,
|
||||
PARAM_EXPAND_ERROR, /* --expand problem */
|
||||
|
|
@ -363,8 +364,6 @@ const struct LongShort *findlongopt(const char *opt);
|
|||
const struct LongShort *findshortopt(char letter);
|
||||
|
||||
ParameterError getparameter(const char *flag, const char *nextarg,
|
||||
argv_item_t cleararg1,
|
||||
argv_item_t cleararg2,
|
||||
bool *usedarg,
|
||||
struct GlobalConfig *global,
|
||||
struct OperationConfig *operation);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue