fixing #75619, related to a problem when trying to evaluate condition when

* xpath.c: fixing #75619, related to a problem when trying
  to evaluate condition when the current node set resulting
  from that sub-step evaluation is empty. Also fixes 2 potential
  problem with previous-sibling and next-siblings axis.
Daniel
diff --git a/ChangeLog b/ChangeLog
index bd34971..6fc129b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Thu Mar 21 13:30:06 CET 2002 Daniel Veillard <daniel@veillard.com>
+
+	* xpath.c: fixing #75619, related to a problem when trying
+	  to evaluate condition when the current node set resulting
+	  from that sub-step evaluation is empty. Also fixes 2 potential
+	  problem with previous-sibling and next-siblings axis.
+
 Thu Mar 21 09:03:59 CET 2002 Daniel Veillard <daniel@veillard.com>
 
 	* c14n.c: patch from Mark Vakoc to build C14N if DocBook and
diff --git a/xpath.c b/xpath.c
index 4f3e11b..484975c 100644
--- a/xpath.c
+++ b/xpath.c
@@ -8406,7 +8406,6 @@
 #endif
 	    last = NULL;
             next = xmlXPathNextFollowingSibling;
-	    mergeNodeSet = xmlXPathNodeSetMergeUnique;
             break;
         case AXIS_NAMESPACE:
 #ifdef DEBUG_STEP
@@ -8438,7 +8437,6 @@
 #endif
             first = NULL;
             next = xmlXPathNextPrecedingSibling;
-	    mergeNodeSet = xmlXPathNodeSetMergeUnique;
             break;
         case AXIS_SELF:
 #ifdef DEBUG_STEP
@@ -8678,7 +8676,7 @@
         /*
          * If there is some predicate filtering do it now
          */
-        if (op->ch2 != -1) {
+        if ((op->ch2 != -1) && (list != NULL) && (list->nodeNr > 0)) {
             xmlXPathObjectPtr obj2;
 
             valuePush(ctxt, xmlXPathWrapNodeSet(list));