X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Frpn2solr.c;h=076e3a9f83043309f38862573e2234e13812cdde;hp=6e41001cc535114934ba7ab7f196aaa64858f2ab;hb=744a00b201a04b308f22fad1ece422b97d2cdd50;hpb=9c55fc71ac93d13a923c36c2a67c4f3d7ef5df38 diff --git a/src/rpn2solr.c b/src/rpn2solr.c index 6e41001..076e3a9 100644 --- a/src/rpn2solr.c +++ b/src/rpn2solr.c @@ -351,10 +351,12 @@ static int solr_write_and_or_range(void (*pr)(const char *buf, void *client_data { if (solr_attr_left->is_range && solr_attr_right->is_range && - !strcmp(solr_attr_left->index, solr_attr_left->index)) + !strcmp(solr_attr_left->index, solr_attr_right->index)) { if (solr_attr_left->is_range >= 3 && solr_attr_right->is_range <= 2) return solr_write_range(pr, client_data, solr_attr_left, solr_attr_right); + else if (solr_attr_left->is_range <= 2 && solr_attr_right->is_range >= 2) + return solr_write_range(pr, client_data, solr_attr_right, solr_attr_left); } solr_write_structure(pr, client_data, solr_attr_left); pr(" AND ", client_data);