> > Gerald, this is proving quite difficult to nail down to a simple > minimal case. For me, however, this code seems to produce the effect. > If I
Appended is a patch that should fix the problem (at least it does for me). You can also fetch it from the CVS Gerald > remove or change an part (e.g. remove one of the innermost tables) > then it works fine. But, for me, it runs away and fills up memory > rapidly. > > The xxxx and yyyy subs are in a file of subs named Directory.epl, > which is executed from base.epl. The routines are called from > /directory/index.html. There is Directory.epl in the base dir, and > Directory.epl in the /directory dir. There is only one version of xxxx > and yyyy, both in /directory/Directory.epl. > > [$ sub yyyy $] > > [- ($self) = @_; -] > > [$ endsub $] > > [$ sub xxxx $] > > [- ($self) = @_; -] > > <TABLE> > > <TR> > <TD> > <TABLE> > <TR> > <TD> > [- $x = 1; -] > [$ while $x < 10 $] > [+ $x +] > [- $x += 1; -] > [$ endwhile $] > </TD> > </TR> > </TABLE> > </TD> > > <TD> > <TABLE> > <TR> > <TD> > <TABLE> > [- $self->yyyy(); -] > </TABLE> > </TD> > </TR> > </TABLE> > </TD> > > </TR> > </TABLE> > > [$ endsub $] > > The problem certainly seems to be related to embedded tables. Anyway, > let me know if this setup causes a runaway on your system, if not then > I'll try and nail it down to a simpler case. > > Thanks, > > -Neil > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] -------------------------------------------------------------- Gerald Richter ecos electronic communication services gmbh IT-Securitylösungen * dynamische Webapplikationen * Consulting Post: Tulpenstrasse 5 D-55276 Dienheim b. Mainz E-Mail: [EMAIL PROTECTED] Voice: +49 6133 939-122 WWW: http://www.ecos.de/ Fax: +49 6133 939-333 -------------------------------------------------------------- | | ECOS BB-5000 Firewall- und IT-Security Appliance: www.bb-5000.info | +-------------------------------------------------------------
Index: epdom.c =================================================================== RCS file: /home/cvs/embperl/epdom.c,v retrieving revision 1.14 diff -u -r1.14 epdom.c --- epdom.c 23 Jan 2004 06:50:55 -0000 1.14 +++ epdom.c 2 Feb 2004 19:26:08 -0000 @@ -2848,13 +2848,26 @@ if (pNxtNode) pNxtNode = Node_selfCondCloneNode (a, pRefNodeDomTree, pNxtNode, nRefRepeatLevel) ; else - pNxtNode = Node_selfLevel (a, pRefNodeDomTree, pRefNode -> xNext, nRefRepeatLevel) ; /* first one */ + { + tNodeData * pParent ; + + if ((pParent = Node_selfLevel (a, pRefNodeDomTree, pRefNode -> xParent, nRefRepeatLevel)) == NULL || + pParent -> xChilds != pRefNode -> xNext) + pNxtNode = Node_selfLevel (a, pRefNodeDomTree, pRefNode -> xNext, nRefRepeatLevel) ; /* first one */ + else + pNxtNode = NULL ; + } xOrgNode = pNewNode -> xNdx ; - pNxtNode -> xPrev = pNewNode -> xNdx ; + if (pNxtNode) + { + pNxtNode -> xPrev = pNewNode -> xNdx ; + pNewNode -> xNext = pNxtNode -> xNdx ; + } + else + pNewNode -> xNext = pRefNode -> xNext ; pRefNode -> xNext = pNewNode -> xNdx ; pNewNode -> xPrev = pRefNode -> xNdx ; - pNewNode -> xNext = pNxtNode -> xNdx ; if (pNewNode -> nType == ntypDocument) {
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]