count() was broken on Result Value Tree fixed file:/// accesses on _WIN32

* xpath.c: count() was broken on Result Value Tree
* xmlIO.c: fixed file:/// accesses on _WIN32
Daniel
diff --git a/xpath.c b/xpath.c
index 1c8c1a8..2de4e1d 100644
--- a/xpath.c
+++ b/xpath.c
@@ -5193,8 +5193,27 @@
 
     if ((cur == NULL) || (cur->nodesetval == NULL))
 	valuePush(ctxt, xmlXPathNewFloat((double) 0));
-    else
+    else if (cur->type == XPATH_NODESET) {
 	valuePush(ctxt, xmlXPathNewFloat((double) cur->nodesetval->nodeNr));
+    } else {
+	if ((cur->nodesetval->nodeNr != 1) ||
+	    (cur->nodesetval->nodeTab == NULL)) {
+	    valuePush(ctxt, xmlXPathNewFloat((double) 0));
+	} else {
+	    xmlNodePtr tmp;
+	    int i = 0;
+
+	    tmp = cur->nodesetval->nodeTab[0];
+	    if (tmp != NULL) {
+		tmp = tmp->children;
+		while (tmp != NULL) {
+		    tmp = tmp->next;
+		    i++;
+		}
+	    }
+	    valuePush(ctxt, xmlXPathNewFloat((double) i));
+	}
+    }
     xmlXPathFreeObject(cur);
 }