aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2004-04-21 18:14:12 +0000
committerWerner Koch <[email protected]>2004-04-21 18:14:12 +0000
commit37a4f44f0615916f4a3b08865fd111ee54a005a5 (patch)
tree03b63cce50cbe914d504e176739d56a5c2b091bf
parent* assuan-socket-connect.c: Include sys/types.h (diff)
downloadgpgme-37a4f44f0615916f4a3b08865fd111ee54a005a5.tar.gz
gpgme-37a4f44f0615916f4a3b08865fd111ee54a005a5.zip
(gpgme_key_unref): Allow passing NULL like free does.
The rule of least surprise.
-rw-r--r--gpgme/ChangeLog5
-rw-r--r--gpgme/key.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/gpgme/ChangeLog b/gpgme/ChangeLog
index 1abc055a..3192ad01 100644
--- a/gpgme/ChangeLog
+++ b/gpgme/ChangeLog
@@ -1,3 +1,8 @@
+2004-04-21 Werner Koch <[email protected]>
+
+ * key.c (gpgme_key_unref): Allow passing NULL like free does.
+ The rule of least surprise.
+
2004-04-15 Werner Koch <[email protected]>
* verify.c (prepare_new_sig, _gpgme_verify_status_handler): Remove
diff --git a/gpgme/key.c b/gpgme/key.c
index 05beb114..4634c264 100644
--- a/gpgme/key.c
+++ b/gpgme/key.c
@@ -304,6 +304,9 @@ gpgme_key_unref (gpgme_key_t key)
gpgme_user_id_t uid;
gpgme_subkey_t subkey;
+ if (!key)
+ return;
+
LOCK (key_ref_lock);
assert (key->_refs > 0);
if (--key->_refs)