#
# 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
# 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
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
*
* 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>
#include "log.h"
#include "onak-conf.h"
#include "parsekey.h"
+#include "wordlist.h"
/**
* dbenv - our database environment.
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.
*