CCL: slightly different point of error return
authorAdam Dickmeiss <adam@indexdata.dk>
Wed, 3 Jun 2015 12:48:04 +0000 (14:48 +0200)
committerAdam Dickmeiss <adam@indexdata.dk>
Wed, 3 Jun 2015 12:48:06 +0000 (14:48 +0200)
Ensure that parser has advanced in any case.

src/cclfind.c

index b108b74..f4dbaa4 100644 (file)
@@ -632,14 +632,12 @@ static struct ccl_rpn_node *search_term_x(CCL_parser cclp,
                 }
         }
         if (!p)
-        {
             p = ccl_term_one_use(cclp, 0 /* attr: no use */, qa, no, len,
                                  is_phrase, auto_group);
-            if (!p)
-                return 0;
-        }
         for (i = 0; i < no; i++)
             ADVANCE;
+        if (!p)
+            return 0;
         /* make the top node point to us.. */
         if (p_top)
         {