diff libpurple/certificate.c @ 19020:d69355001a6e

- Add purple_certificate_copy_list
author William Ehlhardt <williamehlhardt@gmail.com>
date Fri, 13 Jul 2007 09:02:45 +0000
parents d6f902265076
children fcca10d0ac7d
line wrap: on
line diff
--- a/libpurple/certificate.c	Fri Jul 13 08:42:59 2007 +0000
+++ b/libpurple/certificate.c	Fri Jul 13 09:02:45 2007 +0000
@@ -108,6 +108,22 @@
 	return (crt->scheme->copy_certificate)(crt);
 }
 
+GList *
+purple_certificate_copy_list(GList *crt_list)
+{
+	GList *new, *l;
+
+	/* First, make a shallow copy of the list */
+	new = g_list_copy(crt_list);
+
+	/* Now go through and actually duplicate each certificate */
+	for (l = new; l; l = l->next) {
+		l->data = purple_certificate_copy(l->data);
+	}
+
+	return new;
+}
+
 void
 purple_certificate_destroy (PurpleCertificate *crt)
 {