diff options
| author | Junio C Hamano <gitster@pobox.com> | 2021-01-25 14:19:19 -0800 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2021-01-25 14:19:19 -0800 |
| commit | 294e949fa2dfd43097b2b5614470a3e43604663d (patch) | |
| tree | 05965a5fb1413fbf6c896aa8494338af676228c4 /quote.c | |
| parent | 7eefa1349bcba7f4bb533f6e04f472c27b16ea83 (diff) | |
| parent | d8d77153eafdb0fc334e827976f09e4bdff26b58 (diff) | |
| download | git-294e949fa2dfd43097b2b5614470a3e43604663d.tar.xz | |
Merge branch 'ps/config-env-pairs'
Introduce two new ways to feed configuration variable-value pairs
via environment variables, and tweak the way GIT_CONFIG_PARAMETERS
encodes variable/value pairs to make it more robust.
* ps/config-env-pairs:
config: allow specifying config entries via envvar pairs
environment: make `getenv_safe()` a public function
config: store "git -c" variables using more robust format
config: parse more robust format in GIT_CONFIG_PARAMETERS
config: extract function to parse config pairs
quote: make sq_dequote_step() a public function
config: add new way to pass config via `--config-env`
git: add `--super-prefix` to usage string
Diffstat (limited to 'quote.c')
| -rw-r--r-- | quote.c | 15 |
1 files changed, 10 insertions, 5 deletions
@@ -116,7 +116,7 @@ void sq_append_quote_argv_pretty(struct strbuf *dst, const char **argv) } } -static char *sq_dequote_step(char *arg, char **next) +char *sq_dequote_step(char *arg, char **next) { char *dst = arg; char *src = arg; @@ -153,11 +153,8 @@ static char *sq_dequote_step(char *arg, char **next) } /* Fallthrough */ default: - if (!next || !isspace(*src)) + if (!next) return NULL; - do { - c = *++src; - } while (isspace(c)); *dst = 0; *next = src; return arg; @@ -182,6 +179,14 @@ static int sq_dequote_to_argv_internal(char *arg, char *dequoted = sq_dequote_step(next, &next); if (!dequoted) return -1; + if (next) { + char c; + if (!isspace(*next)) + return -1; + do { + c = *++next; + } while (isspace(c)); + } if (argv) { ALLOC_GROW(*argv, *nr + 1, *alloc); (*argv)[(*nr)++] = dequoted; |
