X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Fnfa.c;h=fe6362ea7f4841235151b441c2fe239b009a099b;hp=d00d41aea7772215e68b0a4d54dff4cc8cab3125;hb=e4368af2ede9079d33e7a8fd280d29b2bde1d1ad;hpb=fb61309506b52ca0dad9aea4135ceeda63707b0d diff --git a/src/nfa.c b/src/nfa.c index d00d41a..fe6362e 100644 --- a/src/nfa.c +++ b/src/nfa.c @@ -1,7 +1,7 @@ /* Copyright (C) 2006, Index Data ApS * See the file LICENSE for details. * - * $Id: nfa.c,v 1.10 2006-07-04 12:59:56 heikki Exp $ + * $Id: nfa.c,v 1.12 2006-07-14 13:06:38 heikki Exp $ */ /** @@ -444,7 +444,7 @@ yaz_nfa_converter *yaz_nfa_create_string_converter ( yaz_nfa_char *string, size_t length){ yaz_nfa_converter *c; - int i; + size_t i; c=create_null_converter(n); c->type=conv_string; c->string=nmem_malloc(n->nmem, length*sizeof(yaz_nfa_char)); @@ -596,7 +596,7 @@ int yaz_nfa_add_ascii_string_rule( yaz_nfa *n, nmem_malloc(n->nmem, from_len*sizeof(yaz_nfa_char)); yaz_nfa_char *to_buf= nmem_malloc(n->nmem, to_len*sizeof(yaz_nfa_char)); - int i; + size_t i; for (i=0;itype) { + case conv_none: + sprintf(onebuf,"(none)" ); + break; + case conv_string: + sprintf(onebuf,"(string '" ); + strcat(buf,onebuf); + cp=c->string; + len=c->strlen; + while (len--) { + onebuf[0]=*cp++; + onebuf[1]=0; + strcat(buf,onebuf); + } + strcat(buf,"')"); + onebuf[0]=0; + break; + case conv_backref: + sprintf(onebuf,"(backref %d) ",c->backref_no); + break; + case conv_range: + sprintf(onebuf,"(range %d) ",c->char_diff); + break; + } + strcat(buf,onebuf); + c=c->next; + } /* while */ + return buf; +} + /* * Local variables: