projects
/
onak.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Make compare_packet follow memcmp semantics and export to other modules
[onak.git]
/
wordlist.c
diff --git
a/wordlist.c
b/wordlist.c
index 0a9a836a67e10c7c2ca5e57c609f72edfe3f9c63..791c55d96e6fb10274c9084b12d7ed8541280b33 100644
(file)
--- a/
wordlist.c
+++ b/
wordlist.c
@@
-4,8
+4,6
@@
* Jonathan McDowell <noodles@earth.li>
*
* Copyright 2004 Project Purple
* Jonathan McDowell <noodles@earth.li>
*
* Copyright 2004 Project Purple
- *
- * $Id: wordlist.c,v 1.1 2004/05/27 03:34:35 noodles Exp $
*/
#include <ctype.h>
*/
#include <ctype.h>
@@
-42,11
+40,11
@@
struct ll *makewordlist(struct ll *wordlist, char *word)
end = word;
while (end != NULL && *end != 0) {
start = end;
end = word;
while (end != NULL && *end != 0) {
start = end;
- while (*start != 0 &&
!isalnum(*start
)) {
+ while (*start != 0 &&
(ispunct(*start) || isspace (*start)
)) {
start++;
}
end = start;
start++;
}
end = start;
- while (*end != 0 &&
isalnum(*end
)) {
+ while (*end != 0 &&
(!ispunct(*end) && !isspace (*end)
)) {
*end = tolower(*end);
end++;
}
*end = tolower(*end);
end++;
}
@@
-56,8
+54,10
@@
struct ll *makewordlist(struct ll *wordlist, char *word)
end++;
}
end++;
}
- if (llfind(wordlist, start, strcmp) == NULL) {
- wordlist = lladd(wordlist, start);
+ if (llfind(wordlist, start,
+ (int (*)(const void *, const void *)) strcmp
+ ) == NULL) {
+ wordlist = lladdend(wordlist, start);
}
}
}
}
}
}
@@
-80,12
+80,21
@@
struct ll *makewordlist(struct ll *wordlist, char *word)
struct ll *makewordlistfromkey(struct ll *wordlist,
struct openpgp_publickey *key)
{
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) {
uids = keyuids(key, NULL);
for (i = 0; uids[i] != NULL; ++i) {
- wordlist = makewordlist(wordlist, uids[i]);
+ words = makewordlist(NULL, uids[i]);
+ for (wl = words; wl != NULL; wl = wl->next) {
+ if (llfind(wordlist, wl->object,
+ (int (*)(const void *, const void *)) strcmp
+ ) == NULL) {
+ wordlist = lladd(wordlist, strdup(wl->object));
+ }
+ }
free(uids[i]);
uids[i] = NULL;
}
free(uids[i]);
uids[i] = NULL;
}