X-Git-Url: http://sru.miketaylor.org.uk/?a=blobdiff_plain;f=util%2Fzebramap.c;h=0a95eda791a34a0e605d649046e4400b87af6ba5;hb=0cac58c528d39e9838a4ee6e3f76bc5ca6bd30bf;hp=005793ba6b4dbeb00b024f27c54c530882d8fd98;hpb=c3cdbb99e17d1f4d438bf9ee65391b24484ce88d;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) {