[Rpm-maint] [rpm-software-management/rpm] Add a rpmKeyring iterator (PR #3365)

Panu Matilainen notifications at github.com
Thu Oct 10 06:07:16 UTC 2024


@pmatilai commented on this pull request.



> @@ -61,6 +69,55 @@ rpmKeyring rpmKeyringFree(rpmKeyring keyring)
     return NULL;
 }
 
+rpmKeyringIterator rpmKeyringInitIterator(rpmKeyring keyring, int unused)
+{
+    if (!keyring || unused != 0)
+	return NULL;
+
+    keyring = rpmKeyringLink(keyring);
+
+    rpmKeyringIterator iter = new rpmKeyringIterator_s {};
+    iter->keyringlock = new rdlock(keyring->mutex);
+    iter->iterator = keyring->keys.cbegin();
+    iter->keyring = keyring;
+    iter->current = NULL;

Place all this initialization into the new {} directly, and then you don't need to (and shouldn't) manually allocate the lock, locking then happens automatically as a part of the initialization and then you don't need to (and shouldn't) free it manually either.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/3365#pullrequestreview-2359077689
You are receiving this because you are subscribed to this thread.

Message ID: <rpm-software-management/rpm/pull/3365/review/2359077689 at github.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rpm.org/pipermail/rpm-maint/attachments/20241009/eae5eb15/attachment.html>


More information about the Rpm-maint mailing list