contrib/git-credential-gnome-keyring.c: report failure to store password
authorBrandon Casey <drafnel@gmail.com>
Mon, 23 Sep 2013 18:49:15 +0000 (11:49 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 16 Oct 2013 16:35:33 +0000 (09:35 -0700)
Produce an error message when we fail to store a password to the keyring.

Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
contrib/credential/gnome-keyring/git-credential-gnome-keyring.c
index b70bd5395901c8048b783b7821c0ea1a0006b6c0..447e9aa551619892eb53f6a8b8762d4fb1232784 100644 (file)
@@ -125,6 +125,7 @@ static int keyring_store(struct credential *c)
 {
        guint32 item_id;
        char  *object = NULL;
+       GnomeKeyringResult result;
 
        /*
         * Sanity check that what we are storing is actually sensible.
@@ -139,7 +140,7 @@ static int keyring_store(struct credential *c)
 
        object = keyring_object(c);
 
-       gnome_keyring_set_network_password_sync(
+       result = gnome_keyring_set_network_password_sync(
                                GNOME_KEYRING_DEFAULT,
                                c->username,
                                NULL /* domain */,
@@ -152,6 +153,13 @@ static int keyring_store(struct credential *c)
                                &item_id);
 
        g_free(object);
+
+       if (result != GNOME_KEYRING_RESULT_OK &&
+           result != GNOME_KEYRING_RESULT_CANCELLED) {
+               g_critical("%s", gnome_keyring_result_to_message(result));
+               return EXIT_FAILURE;
+       }
+
        return EXIT_SUCCESS;
 }