X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Ftermlists.c;h=0a22b3b59e09f63d9a9cc62ac18b911f0a53f570;hb=8d29cb8ae99bba2962a76f38ed37921ab830d6dd;hp=19517d7778d2a0aa432d869d41208e837f7ab93e;hpb=84cf2dcc12c5f978d0563bce2e9c85e9ff3c5956;p=pazpar2-moved-to-github.git diff --git a/src/termlists.c b/src/termlists.c index 19517d7..0a22b3b 100644 --- a/src/termlists.c +++ b/src/termlists.c @@ -1,5 +1,22 @@ -/* - * $Id: termlists.c,v 1.5 2007-01-15 19:01:15 quinn Exp $ +/* $Id: termlists.c,v 1.8 2007-05-10 09:24:32 adam Exp $ + Copyright (c) 2006-2007, Index Data. + +This file is part of Pazpar2. + +Pazpar2 is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 2, or (at your option) any later +version. + +Pazpar2 is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with Pazpar2; see the file LICENSE. If not, write to the +Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA +02111-1307, USA. */ #include @@ -130,10 +147,10 @@ void termlist_insert(struct termlist *tl, const char *term) if (strlen(term) > 255) return; strcpy(buf, term); - for (cp = buf + strlen(buf) - 1; cp > buf && - (*cp == ',' || *cp == '.' || *cp == ' '); cp--) - *cp = '\0'; - + /* chop right */ + for (cp = buf + strlen(buf); cp != buf && strchr(",. -", cp[-1]); cp--) + cp[-1] = '\0'; + bucket = hash((unsigned char *)buf) & tl->hashmask; for (p = &tl->hashtable[bucket]; *p; p = &(*p)->next) {