From: Junio C Hamano <gitster@pobox.com>
To: Eric Sunshine <sunshine@sunshineco.com>
Cc: henning.schild@siemens.com,
"Martin Ågren" <martin.agren@gmail.com>,
"Git List" <git@vger.kernel.org>,
"Ben Toews" <mastahyeti@gmail.com>, "Jeff King" <peff@peff.net>,
"Taylor Blau" <me@ttaylorr.com>,
"brian m. carlson" <sandals@crustytoothpaste.net>
Subject: Re: [PATCH 4/8] gpg-interface: introduce an abstraction for multiple gpg formats
Date: Mon, 09 Jul 2018 08:47:08 -0700 [thread overview]
Message-ID: <xmqqy3ekfm2r.fsf@gitster-ct.c.googlers.com> (raw)
In-Reply-To: <CAPig+cQyXC2o4fUARL_kqPn5+6adBpr+WUfAWWgu2QLjDn1eoQ@mail.gmail.com> (Eric Sunshine's message of "Mon, 9 Jul 2018 04:44:01 -0400")
Eric Sunshine <sunshine@sunshineco.com> writes:
> On Mon, Jul 9, 2018 at 4:22 AM Henning Schild
> <henning.schild@siemens.com> wrote:
>> Am Fri, 6 Jul 2018 10:24:58 -0700
>> schrieb Junio C Hamano <gitster@pobox.com>:
>> > Martin Ågren <martin.agren@gmail.com> writes:
>> > >> +struct gpg_format_data gpg_formats[] = {
>> > >> + { .format = "PGP", .program = "gpg",
>> > >> + .extra_args_verify = { "--keyid-format=long", },
>> > >> + .sigs = { PGP_SIGNATURE, PGP_MESSAGE, },
>> > >> + },
>> > >> +};
>> > >
>> > > I think those trailing commas are ok now, but I'm not sure...
>> >
>> > What we've been avoiding was the comma after the last element in the
>> > enum (in other words, if PGP_FMT had ',' after it in the above
>> > quoted addition, that would have been violation of that rule), as
>> > having such a trailing comma used to be ANSI C violation as well.
>>
>> I guess that means the style is acceptable and does not require
>> changes, please correct me if i am wrong.
>
> The trailing comma in the 'sigs' initializer is bothersome because
> 'sigs' is declared as a 2-element array, and this initializer already
> has two elements. Therefore, the comma is misleading to anyone reading
> the code, making it appears as if additional items can be added. For
> that reason, alone, it would be nice to see the unnecessary comma
> removed.
>
> Ditto with regard to the trailing comma in the 'extra_args_verify'
> initializer since 'extra_args_verify' is declared as a 1-element
> array.
I am not sure I agree with that reasoning. The primary benefit we
gain from the convention to allow trailing comma in struct/array
initializers like these is that we can add a new field with a patch
like this:
struct {
char *foo;
char *bar;
+ char *baz;
} xyzzy = {
"foo",
"bar",
+ "baz",
};
without having to touch the initialization of the field that used to
be at the end, i.e. .bar="bar", and just can add the new stuff at
the end. But that is only possible as long as we allow the trailing
comma after the last element. The same argument applies to an array
initialization (i.e. when we need to allow more elements to the
.extra_args_to_verify[] array).
All of the above is somewhat moot for the other reason I already
stated in the thread, though. And that may be a good reason why we
would want to lose these trailing commas from the last elements
(i.e. if it does not prepare the current code to avoid having to
touch the last line when we add a new element at the end, then
trailing comma is a visual hiccup that does not serve any useful
purpose).
next prev parent reply other threads:[~2018-07-09 15:47 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-03 12:38 [PATCH 0/8] X509 (gpgsm) commit signing support Henning Schild
2018-07-03 12:38 ` [PATCH 1/8] builtin/receive-pack: use check_signature from gpg-interface Henning Schild
2018-07-06 19:51 ` Junio C Hamano
2018-07-06 21:35 ` Junio C Hamano
2018-07-09 8:18 ` Henning Schild
2018-07-09 15:55 ` Junio C Hamano
2018-07-03 12:38 ` [PATCH 2/8] gpg-interface: make parse_gpg_output static and remove from interface header Henning Schild
2018-07-03 12:38 ` [PATCH 3/8] gpg-interface: add new config to select how to sign a commit Henning Schild
2018-07-06 1:01 ` brian m. carlson
2018-07-06 8:02 ` Henning Schild
2018-07-06 19:58 ` Junio C Hamano
2018-07-03 12:38 ` [PATCH 4/8] gpg-interface: introduce an abstraction for multiple gpg formats Henning Schild
2018-07-04 7:10 ` Martin Ågren
2018-07-05 13:21 ` Henning Schild
2018-07-06 17:24 ` Junio C Hamano
2018-07-09 8:21 ` Henning Schild
2018-07-09 8:44 ` Eric Sunshine
2018-07-09 15:47 ` Junio C Hamano [this message]
2018-07-10 15:37 ` Jeff King
2018-07-10 15:51 ` Junio C Hamano
2018-07-10 15:58 ` Junio C Hamano
2018-07-10 17:15 ` Jeff King
2018-07-03 12:38 ` [PATCH 5/8] t/t7510: check the validation of the new config gpg.format Henning Schild
2018-07-06 20:21 ` Junio C Hamano
2018-07-09 8:27 ` Henning Schild
2018-07-03 12:38 ` [PATCH 6/8] gpg-interface: do not hardcode the key string len anymore Henning Schild
2018-07-06 20:22 ` Junio C Hamano
2018-07-03 12:38 ` [PATCH 7/8] gpg-interface: introduce new signature format "X509" using gpgsm Henning Schild
2018-07-06 1:10 ` brian m. carlson
2018-07-06 8:01 ` Henning Schild
2018-07-06 20:34 ` Junio C Hamano
2018-07-03 12:38 ` [PATCH 8/8] gpg-interface t: extend the existing GPG tests with GPGSM Henning Schild
2018-07-06 1:14 ` brian m. carlson
2018-07-06 8:01 ` Henning Schild
2018-07-06 1:18 ` [PATCH 0/8] X509 (gpgsm) commit signing support brian m. carlson
2018-07-06 8:01 ` Henning Schild
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqy3ekfm2r.fsf@gitster-ct.c.googlers.com \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=henning.schild@siemens.com \
--cc=martin.agren@gmail.com \
--cc=mastahyeti@gmail.com \
--cc=me@ttaylorr.com \
--cc=peff@peff.net \
--cc=sandals@crustytoothpaste.net \
--cc=sunshine@sunshineco.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).