X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=util%2Fzebramap.c;h=fa170e5ee4238fd8d89f9ce8e27eda48e64b9d66;hb=bfaff2a3d97a1980b3318fedf628222ebf1a7225;hp=c553f2cfc2ac9193fd64b44dabbc65290d68c50d;hpb=195222aff7f9fa54caaef052c3fdd15f47f4703d;p=idzebra-moved-to-github.git diff --git a/util/zebramap.c b/util/zebramap.c index c553f2c..fa170e5 100644 --- a/util/zebramap.c +++ b/util/zebramap.c @@ -1,10 +1,17 @@ /* - * Copyright (C) 1994-1997, Index Data I/S + * Copyright (C) 1994-1998, Index Data I/S * All rights reserved. * Sebastian Hammer, Adam Dickmeiss * * $Log: zebramap.c,v $ - * Revision 1.4 1997-11-18 10:05:08 adam + * Revision 1.6 1998-01-29 13:36:01 adam + * Structure word-list, free-form-text and document-text all + * trigger ranked search. + * + * Revision 1.5 1997/11/19 10:22:14 adam + * Bug fix (introduced by previous commit). + * + * Revision 1.4 1997/11/18 10:05:08 adam * Changed character map facility so that admin can specify character * mapping files for each register type, w, p, etc. * @@ -50,11 +57,9 @@ void zebra_maps_close (ZebraMaps zms) struct zebra_map *zm = zms->map_list; while (zm) { - struct zebra_map *zm_next = zm->next; - - chrmaptab_destroy (zm->maptab); - xfree (zm); - zm = zm_next; + if (zm->maptab) + chrmaptab_destroy (zm->maptab); + zm = zm->next; } nmem_destroy (zms->nmem); xfree (zms); @@ -135,7 +140,7 @@ chrmaptab zebra_map_get (ZebraMaps zms, int reg_type) break; if (!zm) { - logf (LOG_WARN, "unknown register type: %c", reg_type); + logf (LOG_WARN, "Unknown register type: %c", reg_type); return NULL; } if (!zm->maptab) @@ -287,13 +292,16 @@ int zebra_maps_attr (ZebraMaps zms, Z_AttributesPlusTerm *zapt, switch (structure_value) { + case 6: /* word list */ + case 105: /* free-form-text */ + case 106: /* document-text */ + *search_type = "ranked"; + *reg_type = 'w'; + break; case -1: case 1: /* phrase */ case 2: /* word */ case 3: /* key */ - case 6: /* word list */ - case 105: /* free-form-text */ - case 106: /* document-text */ case 108: /* string */ if (*complete_flag) *reg_type = 'p';