X-Git-Url: http://lists.indexdata.dk/cgi-bin?a=blobdiff_plain;f=util%2Fzebramap.c;h=0a95eda791a34a0e605d649046e4400b87af6ba5;hb=7a2d0f25682890bde5d8f2883d6020df2ed0b365;hp=005793ba6b4dbeb00b024f27c54c530882d8fd98;hpb=8add234f71c852fd95ca3aef168e3563265c93b9;p=idzebra-moved-to-github.git diff --git a/util/zebramap.c b/util/zebramap.c index 005793b..0a95eda 100644 --- a/util/zebramap.c +++ b/util/zebramap.c @@ -1,4 +1,4 @@ -/* $Id: zebramap.c,v 1.39 2005-01-16 23:14:58 adam Exp $ +/* $Id: zebramap.c,v 1.40 2005-03-11 17:56:36 adam Exp $ Copyright (C) 1995-2005 Index Data ApS @@ -305,6 +305,32 @@ const char **zebra_maps_input (ZebraMaps zms, unsigned reg_id, return zms->temp_map_ptr; } +const char **zebra_maps_search(ZebraMaps zms, unsigned reg_id, + const char **from, int len, int *q_map_match) +{ + chrmaptab maptab; + + *q_map_match = 0; + maptab = zebra_charmap_get (zms, reg_id); + if (maptab) + { + const char **map; + map = chr_map_q_input(maptab, from, len, 0); + if (map && map[0]) + { + *q_map_match = 1; + return map; + } + map = chr_map_input(maptab, from, len, 0); + if (map) + return map; + } + zms->temp_map_str[0] = **from; + + (*from)++; + return zms->temp_map_ptr; +} + const char *zebra_maps_output(ZebraMaps zms, unsigned reg_id, const char **from) {