Re: [PATCH v2 1/2] var: do not print usage() with a correct invocation
- From
Sean Allred <allred.sean@gmail.com>
- Date
- Nov 26, 2022, 13:19 UTC
- Message-ID
- <87k03hsv3n.fsf@gmail.com>
- In-Reply-To
- <221125.86tu2mmz1e.gmgdl@evledraar.gmail.com>
Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:
> I honestly don't still don't grok what was different here before/after, > whatever we are now/should be doing here, a test as part of this change > asserting the new behavior would be really useful.
Sadly I don't think there are any logical variables that could be tested for this behavior until the second patch in the series (where quite a few tests are added). I did some brief testing with GIT_COMMITTER_IDENT as the most obvious candidate, but it will still die early if GIT_COMMITTER_NAME is unset, so it's not a good test case.
If you've got a test case that'll work before the second patch, I'd be happy to include it here.
Show 19 quoted lines
>> {
>> + const struct git_var *git_var = NULL;
>
> This assignment to "NULL" can be dropped, i.e....
>
>> const char *val = NULL;
>> if (argc != 2)
>> usage(var_usage);
>> @@ -91,10 +89,15 @@ int cmd_var(int argc, const char **argv, const char *prefix)
>> return 0;
>> }
>> git_config(git_default_config, NULL);
>> - val = read_var(argv[1]);
>> - if (!val)
>> +
>> + git_var = get_git_var(argv[1]);
>
> ...we first assign to it here, and if we use it uninit'd before the
> compiler will tell us.Nice catch! I've removed the premature assignment to both `git_var` and `val`. I've updated my branch with this change; I'll send out a v3 later today.
-- Sean Allred