X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=zutil%2Fpquery.c;h=d17147edf788ac039a2ba2a43774ab1ede2c95be;hb=651ccb74d12f2968e791b3f411a6c55bca68428a;hp=adb54c7d9139b2898ec77c3429271911e3a577cb;hpb=05c2cf51484b104fe8cb8211b27b4d257b7865b8;p=yaz-moved-to-github.git diff --git a/zutil/pquery.c b/zutil/pquery.c index adb54c7..d17147e 100644 --- a/zutil/pquery.c +++ b/zutil/pquery.c @@ -2,12 +2,13 @@ * Copyright (c) 1995-2002, Index Data. * See the file LICENSE for details. * - * $Id: pquery.c,v 1.12 2002-01-23 20:25:42 adam Exp $ + * $Id: pquery.c,v 1.15 2002-05-07 11:01:14 adam Exp $ */ #include #include #include +#include #include #include @@ -70,7 +71,13 @@ static int query_token (struct lex_info *li) ++(*qptr); } li->lex_buf = *qptr; - + + if (**qptr == li->escape_char && isdigit ((*qptr)[1])) + { + ++(li->lex_len); + ++(*qptr); + return 'l'; + } while (**qptr && **qptr != sep_char) { if (**qptr == '\\') @@ -83,7 +90,8 @@ static int query_token (struct lex_info *li) } if (**qptr) ++(*qptr); - if (li->lex_len >= 1 && li->lex_buf[0] == li->escape_char) + if (sep_char == ' ' && + li->lex_len >= 1 && li->lex_buf[0] == li->escape_char) { if (compare_term (li, "and", 1)) return 'a';