termlist_insert: new frequency parameter (instead of 1)
authorDennis Schafroth <dennis@indexdata.com>
Thu, 22 Jul 2010 15:26:23 +0000 (17:26 +0200)
committerDennis Schafroth <dennis@indexdata.com>
Thu, 22 Jul 2010 15:26:23 +0000 (17:26 +0200)
src/termlists.c
src/termlists.h

index b40e5b0..fdfc7f0 100644 (file)
@@ -107,7 +107,7 @@ static void update_highscore(struct termlist *tl, struct termlist_score *t)
     }
 }
 
-void termlist_insert(struct termlist *tl, const char *term)
+void termlist_insert(struct termlist *tl, const char *term, int freq)
 {
     unsigned int bucket;
     struct termlist_bucket **p;
@@ -125,7 +125,7 @@ void termlist_insert(struct termlist *tl, const char *term)
     {
         if (!strcmp(buf, (*p)->term.term))
         {
-            (*p)->term.frequency++;
+            (*p)->term.frequency += freq;
             update_highscore(tl, &((*p)->term));
             break;
         }
@@ -135,7 +135,7 @@ void termlist_insert(struct termlist *tl, const char *term)
         struct termlist_bucket *new = nmem_malloc(tl->nmem,
                 sizeof(struct termlist_bucket));
         new->term.term = nmem_strdup(tl->nmem, buf);
-        new->term.frequency = 1;
+        new->term.frequency = freq;
         new->next = 0;
         *p = new;
         update_highscore(tl, &new->term);
index f7d080b..5a62ba2 100644 (file)
@@ -31,7 +31,7 @@ struct termlist_score
 struct termlist;
 
 struct termlist *termlist_create(NMEM nmem, int highscore_size);
-void termlist_insert(struct termlist *tl, const char *term);
+void termlist_insert(struct termlist *tl, const char *term, int freq);
 struct termlist_score **termlist_highscore(struct termlist *tl, int *len);
 
 #endif