>
> 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]