Mercurial > pidgin
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) {