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]