Git fork

contrib/credential: fix compiling "libsecret" helper

The "libsecret" credential helper does not compile when developer
warnings are enabled due to three warnings:

- contrib/credential/libsecret/git-credential-libsecret.c:78:1:
missing initializer for field ‘reserved’ of ‘SecretSchema’
[-Werror=missing-field-initializers]. This issue is fixed by using
designated initializers.

- contrib/credential/libsecret/git-credential-libsecret.c:171:43:
comparison of integer expressions of different signedness: ‘int’
and ‘guint’ {aka ‘unsigned int’} [-Werror=sign-compare]. This
issue is fixed by using an unsigned variable to iterate through
the string vector.

- contrib/credential/libsecret/git-credential-libsecret.c:420:14:
unused parameter ‘argc’ [-Werror=unused-parameter]. This issue is
fixed by checking the number of arguments, but in the least
restrictive way possible.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

authored by

Patrick Steinhardt and committed by
Junio C Hamano
a47b8733 f8d95a32

+5 -5
+5 -5
contrib/credential/libsecret/git-credential-libsecret.c
··· 59 59 /* ----------------- Secret Service functions ----------------- */ 60 60 61 61 static const SecretSchema schema = { 62 - "org.git.Password", 62 + .name = "org.git.Password", 63 63 /* Ignore schema name during search for backwards compatibility */ 64 - SECRET_SCHEMA_DONT_MATCH_NAME, 65 - { 64 + .flags = SECRET_SCHEMA_DONT_MATCH_NAME, 65 + .attributes = { 66 66 /* 67 67 * libsecret assumes attribute values are non-confidential and 68 68 * unchanging, so we can't include oauth_refresh_token or ··· 168 168 g_free(c->password); 169 169 c->password = g_strdup(""); 170 170 } 171 - for (int i = 1; i < g_strv_length(parts); i++) { 171 + for (guint i = 1; i < g_strv_length(parts); i++) { 172 172 if (g_str_has_prefix(parts[i], "password_expiry_utc=")) { 173 173 g_free(c->password_expiry_utc); 174 174 c->password_expiry_utc = g_strdup(&parts[i][20]); ··· 424 424 struct credential_operation const *try_op = credential_helper_ops; 425 425 struct credential cred = CREDENTIAL_INIT; 426 426 427 - if (!argv[1]) { 427 + if (argc < 2 || !*argv[1]) { 428 428 usage(argv[0]); 429 429 exit(EXIT_FAILURE); 430 430 }