From: Junio C Hamano <gitster@pobox.com>
To: Hans Jerry Illikainen <hji@dyntopia.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH 1/1] gpg-interface: limit search for primary key fingerprint
Date: Fri, 22 Nov 2019 12:44:34 +0900 [thread overview]
Message-ID: <xmqqeey07exp.fsf@gitster-ct.c.googlers.com> (raw)
In-Reply-To: <xmqqsgmg7hyf.fsf@gitster-ct.c.googlers.com> (Junio C. Hamano's message of "Fri, 22 Nov 2019 11:39:20 +0900")
Junio C Hamano <gitster@pobox.com> writes:
> Hans Jerry Illikainen <hji@dyntopia.com> writes:
>
>> On Mon, Nov 18 2019, Junio C Hamano wrote:
>> ...
>>> A short helper
>>>
>>> static void replace_cstring(const char **field,
>>> const char *line, const char *next)
>>> {
>>> free(*field);
>>> if (line && next)
>>> *field = xmemdupz(line, next - line);
>>> else
>>> *field = NULL;
>>> }
>>>
>>> may have quite a lot of uses in this function, not only for this
>>> field.
>>
>> Implemented. I wasn't sure whether to do it in a separate commit or
>> not, but #git-devel suggested that I do; so that's what I did.
>
> If such a refactoring helped the readability of _existing_ code that
> can also use this helper, then I agree it is the right approach to
> make that into a separate prelimimary commit.
I did not expect the "how about doing it along this line...?"
suggestion written in my MUA without even compilation testing would
work well, and acually I do not think the above would work without
further tweaks on the types. Wouldn't some of the fields this
helper works on be of type "char *"?
Perhaps something like this squashed in...
gpg-interface.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/gpg-interface.c b/gpg-interface.c
index 4269937b83..b481b0811b 100644
--- a/gpg-interface.c
+++ b/gpg-interface.c
@@ -105,7 +105,7 @@ static struct {
{ 0, "VALIDSIG ", GPG_STATUS_FINGERPRINT },
};
-static void replace_cstring(const char **field, const char *line,
+static void replace_cstring(char **field, const char *line,
const char *next)
{
free(*field);
@@ -120,7 +120,6 @@ static void parse_gpg_output(struct signature_check *sigc)
{
const char *buf = sigc->gpg_status;
const char *line, *next, *limit;
- const char **field;
int i, j;
int seen_exclusive_status = 0;
@@ -158,6 +157,8 @@ static void parse_gpg_output(struct signature_check *sigc)
}
/* Do we have fingerprint? */
if (sigcheck_gpg_status[i].flags & GPG_STATUS_FINGERPRINT) {
+ char **field;
+
next = strchrnul(line, ' ');
replace_cstring(&sigc->fingerprint, line, next);
next prev parent reply other threads:[~2019-11-22 3:44 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-16 18:06 [PATCH 0/1] Limit search for primary key fingerprint Hans Jerry Illikainen
2019-11-16 18:06 ` [PATCH 1/1] gpg-interface: limit " Hans Jerry Illikainen
2019-11-18 5:40 ` Junio C Hamano
2019-11-21 23:19 ` Hans Jerry Illikainen
2019-11-22 2:39 ` Junio C Hamano
2019-11-22 3:44 ` Junio C Hamano [this message]
2019-11-22 20:23 ` Hans Jerry Illikainen
2019-11-23 0:18 ` Junio C Hamano
2019-11-16 19:49 ` [PATCH 0/1] Limit " Jonathan Nieder
2019-11-16 21:58 ` [PATCH v2 " Hans Jerry Illikainen
2019-11-16 21:58 ` [PATCH v2 1/1] gpg-interface: limit " Hans Jerry Illikainen
2019-11-21 23:43 ` [PATCH v3 0/2] gpg-interface: fix " Hans Jerry Illikainen
2019-11-21 23:43 ` [PATCH v3 1/2] gpg-interface: refactor the free-and-xmemdupz pattern Hans Jerry Illikainen
2019-11-22 2:45 ` Junio C Hamano
2019-11-21 23:43 ` [PATCH v3 2/2] gpg-interface: limit search for primary key fingerprint Hans Jerry Illikainen
2019-11-22 3:34 ` Junio C Hamano
2019-11-22 20:23 ` [PATCH v4 0/2] Limit search for primary fingerprint Hans Jerry Illikainen
2019-11-22 20:23 ` [PATCH v4 1/2] gpg-interface: refactor the free-and-xmemdupz pattern Hans Jerry Illikainen
2019-11-22 20:23 ` [PATCH v4 2/2] gpg-interface: limit search for primary key fingerprint Hans Jerry Illikainen
2019-11-23 0:22 ` [PATCH v4 0/2] Limit search for primary fingerprint Junio C Hamano
2019-11-18 4:45 ` [PATCH 0/1] Limit search for primary key fingerprint Junio C Hamano
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqeey07exp.fsf@gitster-ct.c.googlers.com \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=hji@dyntopia.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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.