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>
This commit is contained in:

committed by
Junio C Hamano

parent
f8d95a323a
commit
a47b8733b3
@ -59,10 +59,10 @@ static void credential_clear(struct credential *c);
|
|||||||
/* ----------------- Secret Service functions ----------------- */
|
/* ----------------- Secret Service functions ----------------- */
|
||||||
|
|
||||||
static const SecretSchema schema = {
|
static const SecretSchema schema = {
|
||||||
"org.git.Password",
|
.name = "org.git.Password",
|
||||||
/* Ignore schema name during search for backwards compatibility */
|
/* Ignore schema name during search for backwards compatibility */
|
||||||
SECRET_SCHEMA_DONT_MATCH_NAME,
|
.flags = SECRET_SCHEMA_DONT_MATCH_NAME,
|
||||||
{
|
.attributes = {
|
||||||
/*
|
/*
|
||||||
* libsecret assumes attribute values are non-confidential and
|
* libsecret assumes attribute values are non-confidential and
|
||||||
* unchanging, so we can't include oauth_refresh_token or
|
* unchanging, so we can't include oauth_refresh_token or
|
||||||
@ -168,7 +168,7 @@ static int keyring_get(struct credential *c)
|
|||||||
g_free(c->password);
|
g_free(c->password);
|
||||||
c->password = g_strdup("");
|
c->password = g_strdup("");
|
||||||
}
|
}
|
||||||
for (int i = 1; i < g_strv_length(parts); i++) {
|
for (guint i = 1; i < g_strv_length(parts); i++) {
|
||||||
if (g_str_has_prefix(parts[i], "password_expiry_utc=")) {
|
if (g_str_has_prefix(parts[i], "password_expiry_utc=")) {
|
||||||
g_free(c->password_expiry_utc);
|
g_free(c->password_expiry_utc);
|
||||||
c->password_expiry_utc = g_strdup(&parts[i][20]);
|
c->password_expiry_utc = g_strdup(&parts[i][20]);
|
||||||
@ -424,7 +424,7 @@ int main(int argc, char *argv[])
|
|||||||
struct credential_operation const *try_op = credential_helper_ops;
|
struct credential_operation const *try_op = credential_helper_ops;
|
||||||
struct credential cred = CREDENTIAL_INIT;
|
struct credential cred = CREDENTIAL_INIT;
|
||||||
|
|
||||||
if (!argv[1]) {
|
if (argc < 2 || !*argv[1]) {
|
||||||
usage(argv[0]);
|
usage(argv[0]);
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user