/*
- * Copyright (C) 1994-1998, Index Data
+ * Copyright (C) 1994-1999, Index Data
* All rights reserved.
* Sebastian Hammer, Adam Dickmeiss
*
* $Log: zebramap.c,v $
- * Revision 1.11 1998-10-13 20:09:19 adam
+ * Revision 1.14 1999-02-19 10:37:40 adam
+ * Minor fix.
+ *
+ * Revision 1.13 1999/02/18 15:01:04 adam
+ * Structure=key uses register type 0.
+ *
+ * Revision 1.12 1999/02/12 13:29:25 adam
+ * Implemented position-flag for registers.
+ *
+ * Revision 1.11 1998/10/13 20:09:19 adam
* Changed call to readconf_line.
*
* Revision 1.10 1998/06/23 15:33:37 adam
struct zebra_map {
unsigned reg_id;
int completeness;
+ int positioned;
int type;
union {
struct {
(*zm)->maptab = NULL;
(*zm)->type = ZEBRA_MAP_TYPE_INDEX;
(*zm)->completeness = 0;
+ (*zm)->positioned = 1;
}
else if (!yaz_matchstr (argv[0], "sort") && argc == 2)
{
(*zm)->u.sort.entry_size = 80;
(*zm)->maptab = NULL;
(*zm)->completeness = 0;
+ (*zm)->positioned = 0;
}
else if (zm && !yaz_matchstr (argv[0], "charmap") && argc == 2)
{
{
(*zm)->completeness = atoi (argv[1]);
}
+ else if (zm && !yaz_matchstr (argv[0], "position") && argc == 2)
+ {
+ (*zm)->positioned = atoi (argv[1]);
+ }
else if (zm && !yaz_matchstr (argv[0], "entrysize") && argc == 2)
{
if ((*zm)->type == ZEBRA_MAP_TYPE_SORT)
int i;
zms->nmem = nmem_create ();
- zms->tabpath = nmem_strdup (zms->nmem, res_get (res, "profilePath"));
+ zms->tabpath = nmem_strdup (zms->nmem, res_get_def (res, "profilePath", "."));
zms->map_list = NULL;
zms->temp_map_str[0] = '\0';
return 0;
}
+int zebra_maps_is_positioned (ZebraMaps zms, unsigned reg_id)
+{
+ struct zebra_map *zm = zebra_map_get (zms, reg_id);
+ if (zm)
+ return zm->positioned;
+ return 0;
+}
+
int zebra_maps_is_sort (ZebraMaps zms, unsigned reg_id)
{
struct zebra_map *zm = zebra_map_get (zms, reg_id);
case -1:
case 1: /* phrase */
case 2: /* word */
- case 3: /* key */
case 108: /* string */
*search_type = "phrase";
break;
*reg_id = 'u';
*search_type = "phrase";
break;
+ case 3: /* key */
+ *reg_id = '0';
+ *search_type = "phrase";
+ break;
default:
return -1;
}