X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=dict%2Flookgrep.c;h=733be365a9226ac0ea19da8cccced267b0b68cbf;hb=b8844c65622c12fb105bf7fc6bab2fc237af7c14;hp=1cb452a46c8790593ca274a80e392e4de230fb1a;hpb=3e97ca3e99068d83691ad6d43d53dd9f1f316889;p=idzebra-moved-to-github.git diff --git a/dict/lookgrep.c b/dict/lookgrep.c index 1cb452a..733be36 100644 --- a/dict/lookgrep.c +++ b/dict/lookgrep.c @@ -1,10 +1,16 @@ /* - * Copyright (C) 1994, Index Data I/S + * Copyright (C) 1994-1996, Index Data I/S * All rights reserved. * Sebastian Hammer, Adam Dickmeiss * * $Log: lookgrep.c,v $ - * Revision 1.15 1996-03-20 09:35:18 adam + * Revision 1.17 1996-06-04 10:20:06 adam + * Added support for character mapping. + * + * Revision 1.16 1996/05/24 14:46:04 adam + * Added dict_grep_cmap function to define user-mapping in grep lookups. + * + * Revision 1.15 1996/03/20 09:35:18 adam * Function dict_lookup_grep got extra parameter, init_pos, which marks * from which position in pattern approximate pattern matching should occur. * @@ -401,6 +407,9 @@ int dict_lookup_grep (Dict dict, const char *pattern, int range, void *client, int i, d; logf (LOG_DEBUG, "dict_lookup_grep '%s' range=%d", pattern, range); + + dfa_set_cmap (dfa, dict->grep_cmap); + i = dfa_parse (dfa, &this_pattern); if (i || *this_pattern) { @@ -441,3 +450,8 @@ int dict_lookup_grep (Dict dict, const char *pattern, int range, void *client, rm_MatchContext (&mc); return i; } + +void dict_grep_cmap (Dict dict, char **(*cmap)(const char **from, int len)) +{ + dict->grep_cmap = cmap; +}