richter     02/05/24 13:06:31

  Modified:    .        Tag: Embperl2c Changes.pod epdom.c
  Log:
  fixed string refcnt in rtf syntax
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.129.4.72 +1 -0      embperl/Changes.pod
  
  Index: Changes.pod
  ===================================================================
  RCS file: /home/cvs/embperl/Changes.pod,v
  retrieving revision 1.129.4.71
  retrieving revision 1.129.4.72
  diff -u -r1.129.4.71 -r1.129.4.72
  --- Changes.pod       24 May 2002 19:39:32 -0000      1.129.4.71
  +++ Changes.pod       24 May 2002 20:06:30 -0000      1.129.4.72
  @@ -28,6 +28,7 @@
        500. Reported by Cameron McBride.
      - Fixed a reference count error when using the import parameter. Reported
        by Michael Smith.
  +   - Fixed string reference counting problem in RTF&POD syntax.
   
   =head1 2.0b7 (BETA) 21. Mar. 2002
   
  
  
  
  1.4.2.90  +6 -4      embperl/Attic/epdom.c
  
  Index: epdom.c
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/epdom.c,v
  retrieving revision 1.4.2.89
  retrieving revision 1.4.2.90
  diff -u -r1.4.2.89 -r1.4.2.90
  --- epdom.c   21 May 2002 12:09:07 -0000      1.4.2.89
  +++ epdom.c   24 May 2002 20:06:30 -0000      1.4.2.90
  @@ -9,7 +9,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: epdom.c,v 1.4.2.89 2002/05/21 12:09:07 richter Exp $
  +#   $Id: epdom.c,v 1.4.2.90 2002/05/24 20:06:30 richter Exp $
   #
   
###################################################################################*/
   
  @@ -857,9 +857,10 @@
   
       if (!pHEKey)
        {
  -     pSVNdx = newSViv (nNdx) ;
  +     pSVNdx = newSVivDBG1 (nNdx, sText) ;
        SvTAINTED_off (pSVNdx) ;
  -     pHEKey = hv_store_ent (pStringTableHash, pSVKey, pSVNdx, 0) ;
  +        SvREFCNT_inc (pSVNdx) ;
  +        pHEKey = hv_store_ent (pStringTableHash, pSVKey, pSVNdx, 0) ;
        }
   
       pStringTableArray[nNdx] = pHEKey ;
  @@ -895,11 +896,12 @@
           lprintf (a, "free string %s (#%d) refcnt=%d\n", Ndx2String (nNdx), nNdx, 
SvREFCNT(pSVNdx)) ;
           */
   
  +        
           if (SvREFCNT(pSVNdx) == 1)
           {
           int n ;
        
  -        /* lprintf (a, "delete string %s (#%d)\n", Ndx2String (nNdx), nNdx) ; */
  +           /* lprintf (a, "delete string %s (#%d)\n", Ndx2String (nNdx), nNdx) ; */
           hv_delete (pStringTableHash, HeKEY (pHE), HeKLEN(pHE), 0) ;
           pStringTableArray[nNdx] = NULL ;
           n = ArrayAdd (a, &pFreeStringsNdx, 1) ;
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to