richter 00/07/04 23:27:57
Modified: . Tag: Embperl2 Embperl.xs epcomp.c epdom.c epmain.c
test.pl
Log:
Embperl 2
Revision Changes Path
No revision
No revision
1.26.2.23 +5 -1 embperl/Embperl.xs
Index: Embperl.xs
===================================================================
RCS file: /home/cvs/embperl/Embperl.xs,v
retrieving revision 1.26.2.22
retrieving revision 1.26.2.23
diff -u -r1.26.2.22 -r1.26.2.23
--- Embperl.xs 2000/06/27 05:31:36 1.26.2.22
+++ Embperl.xs 2000/07/05 06:27:41 1.26.2.23
@@ -697,10 +697,14 @@
int nType
SV * sText
CODE:
+ int xNewParent ;
STRLEN nText ;
char * sT = SV2String (sText, nText) ;
tDomTree * pDomTree = DomTree_self(xDomTree) ;
- Node_appendChild (pDomTree, nType, 0, sT, nText, xParent, 0, 0) ;
+ Node_self (pDomTree,xParent) -> bFlags |= nflgModified | nflgReturn ;
+ xNewParent = Node_cloneNode (pDomTree, xParent, 1) ;
+ DomTree_selfCheckpoint (pDomTree, xParent, xNewParent) ;
+ Node_appendChild (pDomTree, nType, 0, sT, nText, xNewParent, 0, 0) ;
void
1.1.2.39 +3 -3 embperl/Attic/epcomp.c
Index: epcomp.c
===================================================================
RCS file: /home/cvs/embperl/Attic/epcomp.c,v
retrieving revision 1.1.2.38
retrieving revision 1.1.2.39
diff -u -r1.1.2.38 -r1.1.2.39
--- epcomp.c 2000/07/04 21:37:29 1.1.2.38
+++ epcomp.c 2000/07/05 06:27:41 1.1.2.39
@@ -1046,7 +1046,7 @@
r -> Buf.nSourceline = 0 ;
return SvIVX(*ppSV) ;
}
- else if (*ppSV == NULL || SvTYPE (*ppSV) != SVt_IV)
+ else if (*ppSV == NULL || !SvIOKp (*ppSV) )
{
if ((rc = ParseFile (r)) != ok)
{
@@ -1076,7 +1076,7 @@
pDomTree -> pSV = (SV *)newHV () ;
nLabelCnt = 1 ;
-
+
if ((rc = embperl_CompileNode (pDomTree, r -> xDocument, &bCheckpointPending))
!= ok)
{
*ppSV = newSVpvf ("%s\t%s", r -> errdat1, r -> errdat2) ;
@@ -1130,7 +1130,7 @@
}
else
{
- pDomTree = DomTree_self (SvIV (*ppSV)) ;
+ pDomTree = DomTree_self (SvIVX (*ppSV)) ;
r -> xDocument = pDomTree -> xDocument ;
if ((rc = EvalStore (r, pProgRun, 0, &pSV)) != ok)
return rc ;
1.1.2.45 +14 -5 embperl/Attic/epdom.c
Index: epdom.c
===================================================================
RCS file: /home/cvs/embperl/Attic/epdom.c,v
retrieving revision 1.1.2.44
retrieving revision 1.1.2.45
diff -u -r1.1.2.44 -r1.1.2.45
--- epdom.c 2000/07/04 21:37:31 1.1.2.44
+++ epdom.c 2000/07/05 06:27:44 1.1.2.45
@@ -483,7 +483,7 @@
memset (pDomTree, 0, sizeof (*pDomTree)) ;
pSV = newSViv (n) ;
- sv_magic (pSV, NULL, 0, NULL, 0) ;
+ sv_magic (pSV, pSV, 0, NULL, n) ;
pMagic = mg_find (pSV, 0) ;
if (pMagic)
@@ -537,10 +537,21 @@
{
tNodePad * * pLookup = (tNodePad * *)pDomTree -> pLookup ;
- int numLookup = ArrayGetSize (pLookup) ;
+ int numLookup ;
tIndex xDomTree = pDomTree -> xNdx ;
tIndex xNdx ;
+ if (pCurrReq -> bDebug & dbgParse)
+ lprintf (pCurrReq, "[%d]Delete: DomTree = %d SVs=%d\n", pCurrReq -> nPid,
pDomTree -> xNdx, sv_count) ;
+
+ if (!xDomTree)
+ {
+ if (pCurrReq -> bDebug & dbgParse)
+ lprintf (pCurrReq, "[%d]Delete: Already deleted DomTree = %d SVs=%d\n",
pCurrReq -> nPid, pDomTree -> xNdx, sv_count) ;
+ return ok ;
+ }
+
+ numLookup = ArrayGetSize (pLookup) ;
pLookup += numLookup - 1 ;
while (numLookup-- > 0)
{
@@ -606,9 +617,7 @@
static int DomTree_free (SV * pSV, MAGIC * mg)
{
- tIndex nNdx = SvIVX (pSV) ;
-
- return DomTree_dodelete (DomTree_self (nNdx)) ;
+ return DomTree_dodelete (DomTree_self (mg -> mg_len)) ;
}
/* ------------------------------------------------------------------------ */
1.65.2.15 +5 -0 embperl/epmain.c
Index: epmain.c
===================================================================
RCS file: /home/cvs/embperl/epmain.c,v
retrieving revision 1.65.2.14
retrieving revision 1.65.2.15
diff -u -r1.65.2.14 -r1.65.2.15
--- epmain.c 2000/07/04 21:37:33 1.65.2.14
+++ epmain.c 2000/07/05 06:27:45 1.65.2.15
@@ -1689,6 +1689,11 @@
if (pConf -> sCookiePath)
free (pConf -> sCookiePath) ;
+ if (pConf -> sExpiresKey)
+ free (pConf -> sExpiresKey) ;
+
+ if (pConf -> pExpiresCV)
+ SvREFCNT_dec (pConf -> pExpiresCV) ;
free (pConf) ;
}
1.57.2.33 +1 -1 embperl/test.pl
Index: test.pl
===================================================================
RCS file: /home/cvs/embperl/test.pl,v
retrieving revision 1.57.2.32
retrieving revision 1.57.2.33
diff -u -r1.57.2.32 -r1.57.2.33
--- test.pl 2000/07/04 21:47:06 1.57.2.32
+++ test.pl 2000/07/05 06:27:46 1.57.2.33
@@ -616,7 +616,7 @@
{
@savetests = @tests ;
@tests = () ;
- while ($t = shift @ARGV)
+ while (defined ($t = shift @ARGV))
{
push @tests, $savetests[$t] ;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]