richter 00/07/05 00:39:12
Modified: . Tag: Embperl2 epdom.c
Log:
EMbperl 2
Revision Changes Path
No revision
No revision
1.1.2.46 +12 -2 embperl/Attic/epdom.c
Index: epdom.c
===================================================================
RCS file: /home/cvs/embperl/Attic/epdom.c,v
retrieving revision 1.1.2.45
retrieving revision 1.1.2.46
diff -u -r1.1.2.45 -r1.1.2.46
--- epdom.c 2000/07/05 06:27:44 1.1.2.45
+++ epdom.c 2000/07/05 07:38:54 1.1.2.46
@@ -1747,6 +1747,7 @@
int bCheckpointFound = 0 ;
tNodeData * pNextNode ;
tNodeData * pSavedNode = NULL ;
+ tNodeData * pSavedNodeFrom = NULL ;
tNodeData * pLastStartTag = NULL ;
tNodeData * pNode = Node_self (pDomTree, xNode) ;
tNodeData * pFirstNode = pNode ;
@@ -1813,6 +1814,7 @@
lprintf (r, "[%d]toString: Replace Node=%d with Node=%d\n", r ->
nPid, pNode -> xNdx, xNextNode) ;
pSavedNode = pNode ;
pNode = Node_self (pDomTree, xNextNode) ;
+ pSavedNodeFrom = pNode ;
}
if (i == nOrderNdx)
nOrderNdx++, nOrderIndexNode = -1 ;
@@ -1911,8 +1913,12 @@
pNextNode = Node_selfFirstChild (pDomTree, pNode) ;
if (pNextNode == NULL)
{
- if (pSavedNode)
+ if (pSavedNode && pSavedNodeFrom == pNode)
+ {
pNode = pSavedNode ;
+ pSavedNode = NULL ;
+ }
+
pNextNode = Node_selfNextSibling (pDomTree, pNode) ;
while (pNextNode == NULL)
@@ -1924,6 +1930,11 @@
return bCheckpointFound?pNextNode:NULL ;
}
+ if (pSavedNode && pSavedNodeFrom == pNextNode)
+ {
+ pNextNode = pSavedNode ;
+ pSavedNode = NULL ;
+ }
pNode = pNextNode ;
pNextNode = Node_selfNextSibling (pDomTree, pNextNode) ;
if (pNode -> nType == ntypStartTag && (pNode -> bFlags & nflgIgnore)
== 0 &&
@@ -1936,7 +1947,6 @@
}
}
}
- pSavedNode = NULL ;
pNode = pNextNode ;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]