]> the.earth.li Git - onak.git/commitdiff
cscvs to tla changeset 128
authorJonathan McDowell <noodles@earth.li>
Mon, 31 May 2004 23:48:21 +0000 (23:48 +0000)
committerJonathan McDowell <noodles@earth.li>
Mon, 31 May 2004 23:48:21 +0000 (23:48 +0000)
Author: noodles
Date: 2004/05/27 03:33:24
Move makewordlist to its own file so we can use it elsewhere (dsilvers).

Makefile
keydb_db3.c

index c980e4c6c88cb4d750e465e802591ed624c4af7e..733daf4c59b2ecdbd850fb79d6a824e7ce7ac9dc 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
 #
 # Makefile for onak.
 #
-# $Id: Makefile,v 1.19 2004/05/27 01:25:37 noodles Exp $
+# $Id: Makefile,v 1.20 2004/05/27 03:33:24 noodles Exp $
 #
 
 CC = gcc
@@ -10,7 +10,7 @@ CFLAGS += -Wall -pedantic -g -I/usr/local/include
 # Uncomment to enable profiling.
 #LDFLAGS += -pg
 # Can be "pg" for Postgresql, "file" for flat files or "db2" for pksd db2 style.
-DBTYPE = db3
+DBTYPE = fs
 # If using DBTYPE of "file" then comment the following line out.
 #LIBS = -L/usr/local/lib -lpq
 LIBS = -L/usr/local/lib -ldb3
@@ -18,11 +18,11 @@ LIBS = -L/usr/local/lib -ldb3
 PROGS = add lookup gpgwww onak splitkeys
 CORE_OBJS = armor.o charfuncs.o decodekey.o getcgi.o hash.o keydb_$(DBTYPE).o \
        keyid.o keyindex.o ll.o mem.o onak-conf.o parsekey.o sha.o md5.o \
-       log.o photoid.o
+       log.o photoid.o wordlist.o
 OBJS = merge.o stats.o sendsync.o $(CORE_OBJS)
 SRCS = armor.c parsekey.c merge.c keyid.c md5.c sha.c main.c getcgi.c stats.c \
        keyindex.c mem.c lookup.c add.c keydb_$(DBTYPE).c ll.c hash.c \
-       gpgwww.c onak-conf.c charfuncs.c sendsync.c log.c photoid.c
+       gpgwww.c onak-conf.c charfuncs.c sendsync.c log.c photoid.c wordlist.o
 
 all: .depend $(PROGS) testparse maxpath sixdegrees splitkeys
 
index e25b94ec9afbc984037d61aec92088ba2c1b2ce5..464dcc9d445f792022c9a32efee30f1be33d20b7 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Copyright 2002 Project Purple
  *
- * $Id: keydb_db3.c,v 1.25 2004/05/26 17:46:21 noodles Exp $
+ * $Id: keydb_db3.c,v 1.26 2004/05/27 03:33:24 noodles Exp $
  */
 
 #include <assert.h>
@@ -30,6 +30,7 @@
 #include "log.h"
 #include "onak-conf.h"
 #include "parsekey.h"
+#include "wordlist.h"
 
 /**
  *     dbenv - our database environment.
@@ -65,56 +66,6 @@ DB *keydb(uint64_t keyid)
        return(dbconns[keytrun % numdbs]);
 }
 
-/**
- *     makewordlist - Takes a string and splits it into a set of unique words.
- *     @wordlist: The current word list.
- *     @words: The string to split and add.
- *
- *     We take words and split it on non alpha numeric characters. These get
- *     added to the word list if they're not already present. If the wordlist
- *     is NULL then we start a new list, otherwise it's search for already
- *     added words. Note that words is modified in the process of scanning.
- *
- *     Returns the new word list.
- */
-struct ll *makewordlist(struct ll *wordlist, char *word)
-{
-       char *start = NULL;
-       char *end = NULL;
-
-       /*
-        * Walk through the words string, spliting on non alphanumerics and
-        * then checking if the word already exists in the list. If not then
-        * we add it.
-        */
-       end = word;
-       while (end != NULL && *end != 0) {
-               start = end;
-               while (*start != 0 && !isalnum(*start)) {
-                       start++;
-               }
-               end = start;
-               while (*end != 0 && isalnum(*end)) {
-                       *end = tolower(*end);
-                       end++;
-               }
-               if (end - start > 1) {
-                       if (*end != 0) {
-                               *end = 0;
-                               end++;
-                       }
-                       
-                       if (llfind(wordlist, start,
-                                       strcmp) == NULL) {
-                               wordlist = lladd(wordlist,
-                                               start);
-                       }
-               }
-       }
-
-       return wordlist;
-}
-
 /**
  *     initdb - Initialize the key database.
  *