From: Junio C Hamano Date: Mon, 29 Feb 2016 18:20:54 GMT Subject: Re: [PATCH v5 3/3] git: submodule honor -c credential.* from command line Message-ID: In-Reply-To: <1456532000-22971-4-git-send-email-jacob.e.keller@intel.com> Jacob Keller writes: > +static int sanitize_submodule_config(const char *var, const char *value, void *data) > +{ > + struct strbuf quoted = STRBUF_INIT; > + struct strbuf *out = data; > + > + if (submodule_config_ok(var)) { > + if (out->len) > + strbuf_addch(out, ' '); > + > + sq_quotef(out, "%s=%s", var, value); Can a configuration variable that comes from the original command line be a boolean true that is spelled without "=true", i.e. can value be NULL here? > + } > + > + strbuf_release("ed); > + > + return 0; > +} > + > +static void prepare_submodule_repo_env(struct argv_array *out) > +{ > + const char * const *var; > + > + for (var = local_repo_env; *var; var++) { > + if (!strcmp(*var, CONFIG_DATA_ENVIRONMENT)) { > + struct strbuf sanitized_config = STRBUF_INIT; > + git_config_from_parameters(sanitize_submodule_config, > + &sanitized_config); > + argv_array_pushf(out, "%s=%s", *var, sanitized_config.buf); > + strbuf_release(&sanitized_config);