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]

Reply via email to