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