cscvs to tla changeset 135
authorJonathan McDowell <noodles@earth.li>
Mon, 31 May 2004 23:48:27 +0000 (23:48 +0000)
committerJonathan McDowell <noodles@earth.li>
Mon, 31 May 2004 23:48:27 +0000 (23:48 +0000)
Author: noodles
Date: 2004/05/28 02:55:49
Fix makewordlistfromkey allocation of word list (dsilvers).

keydb_fs.c
wordlist.c

index 7e739d834623c1193bdf283c70362efbe9d1467d..23058085ffad207bf02b9a9f55c5b1078156f152 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Copyright 2004 Daniel Silverstone and Project Purple
  *
- * $Id: keydb_fs.c,v 1.1 2004/05/27 03:37:58 noodles Exp $
+ * $Id: keydb_fs.c,v 1.2 2004/05/28 02:55:49 noodles Exp $
  */
 
 #include <sys/types.h>
@@ -279,8 +279,6 @@ int store_key(struct openpgp_publickey *publickey, bool intrans,
                        wl = wl->next;
                }
 
-
-
                llfree(wordlist, NULL);
        }
 
index 0a9a836a67e10c7c2ca5e57c609f72edfe3f9c63..173cc568c4333c68f81c4705744a92c3b3b12f1b 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Copyright 2004 Project Purple
  *
- * $Id: wordlist.c,v 1.1 2004/05/27 03:34:35 noodles Exp $
+ * $Id: wordlist.c,v 1.2 2004/05/28 02:55:49 noodles Exp $
  */
 
 #include <ctype.h>
@@ -80,12 +80,19 @@ struct ll *makewordlist(struct ll *wordlist, char *word)
 struct ll *makewordlistfromkey(struct ll *wordlist,
                               struct openpgp_publickey *key)
 {
-       char **uids;
-       int i;
+       char      **uids;
+       int         i;
+       struct ll  *words = NULL;
+       struct ll  *wl = NULL;
 
        uids = keyuids(key, NULL);
        for (i = 0; uids[i] != NULL; ++i) {
-               wordlist = makewordlist(wordlist, uids[i]);
+               words = makewordlist(wordlist, uids[i]);
+               for (wl = words; wl->next; wl = wl->next) {
+                       if (llfind(wordlist, wl->object, strcmp) == NULL) {
+                               wordlist = lladd(wordlist, strdup(wl->object));
+                       }
+               }
                free(uids[i]);
                uids[i] = NULL;
        }