Update of /cvsroot/monetdb/pathfinder/runtime
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv10507

Modified Files:
      Tag: XQuery_0-24
        xrpc_server.mx 
Log Message:
Bugfix: [ 1981481 ] PF: tests/XRpc/Tests/echoAll fails while it worked
with 0.22

corrected the wrong check to skip possible whitespace text node between
element nodes



U xrpc_server.mx
Index: xrpc_server.mx
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/runtime/xrpc_server.mx,v
retrieving revision 1.68.2.2
retrieving revision 1.68.2.3
diff -u -d -r1.68.2.2 -r1.68.2.3
--- xrpc_server.mx      25 May 2008 21:49:56 -0000      1.68.2.2
+++ xrpc_server.mx      3 Jun 2008 23:39:06 -0000       1.68.2.3
@@ -594,19 +594,19 @@
     /* i: index in xrpc:call; j: index of xrpc:sequence per xrpc:call */
     for(i = 0; next_call_node_pre < BATcount(pre_size); call_node_pre = 
next_call_node_pre, i++) {
         /* skip possible empty text node, without further checking */
-        call_node_pre += (pre_kindT[call_node_pre] == ELEMENT ? 0 : 1);
+        call_node_pre += (pre_kindT[call_node_pre] == TEXT ? 1 : 0);
         next_call_node_pre = call_node_pre + pre_sizeT[call_node_pre] + 1;
 
         for(seq_node_pre = call_node_pre + 1, j = 0; seq_node_pre < 
next_call_node_pre;
                 seq_node_pre = next_seq_node_pre, j++) {
             /* skip possible empty text nodes, without further checking */
-            seq_node_pre += (pre_kindT[seq_node_pre] == ELEMENT ? 0 : 1);
+            seq_node_pre += (pre_kindT[seq_node_pre] == TEXT ? 1 : 0);
             next_seq_node_pre = seq_node_pre + pre_sizeT[seq_node_pre] + 1;
        
             for(tpe_node_pre = seq_node_pre+1, k=1; tpe_node_pre < 
next_seq_node_pre;
                     tpe_node_pre = next_tpe_node_pre, k++) {
                 /* skip possible empty text nodes, without further checking */
-                tpe_node_pre += (pre_kindT[tpe_node_pre] == ELEMENT ? 0 : 1);
+                tpe_node_pre += (pre_kindT[tpe_node_pre] == TEXT ? 1 : 0);
                 next_tpe_node_pre = tpe_node_pre + pre_sizeT[tpe_node_pre]+1;
                 /* advance our cursor in attr_own */
                 while(ao_ptr < nattrs && attr_ownT[ao_ptr] < tpe_node_pre) 
ao_ptr++;
@@ -708,7 +708,8 @@
                        strcmp(argtpe[nr_args], "xs:comment") == 0 ||
                        strcmp(argtpe[nr_args], "xs:processing-instruction") == 
0) {
                         val_node_pre = tpe_node_pre + 1;
-                        val_node_pre += (pre_kindT[val_node_pre] == ELEMENT ? 
0 : 1);
+                        if(strcmp(argtpe[nr_args], "xs:text") != 0)
+                            val_node_pre += (pre_kindT[val_node_pre] == TEXT ? 
1 : 0);
                     } else if (strcmp(argtpe[nr_args], "xs:document") == 0) {
                         val_node_pre = tpe_node_pre;
                         pre_kindT[val_node_pre] = 4;


-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins

Reply via email to