develooper Front page | perl.perl5.porters | Postings from January 2001

Re: more UTF8 test suites and an UTF8 patch

Thread Previous | Thread Next
From:
Inaba Hiroto
Date:
January 9, 2001 21:42
Subject:
Re: more UTF8 test suites and an UTF8 patch
Message ID:
10101100239.AA10002@tux0017.sdd.tokyo-sc.toshiba.co.jp

From: Jarkko Hietaniemi <jhi@iki.fi> 
Date: Tue, 9 Jan 2001 09:30:59 -0600 

> Now that these failures have been fixed :-) I'm attaching Simon's
> original torture.pl, which still seems to have "issues". ...

It is my bug from "`grows' optimization". Here is a patch.
==================================================================
--- doop.c~	Tue Jan  9 17:11:01 2001
+++ doop.c	Wed Jan 10 11:43:11 2001
@@ -333,9 +333,11 @@
 	    dend = dstart + nlen;
 	}
     }
-    if (grows) {
+    if (grows || hibit) {
 	sv_setpvn(sv, (char*)dstart, d - dstart);
 	Safefree(dstart);
+	if (grows && hibit)
+	    Safefree(start);
     }
     else {
 	*d = '\0';
@@ -343,8 +345,6 @@
     }
     SvSETMAGIC(sv);
     SvUTF8_on(sv);
-    if (hibit)
-	Safefree(start);
     if (!isutf8 && !(PL_hints & HINT_UTF8))
 	sv_utf8_downgrade(sv, TRUE);
 
@@ -517,17 +517,17 @@
 	    s += UTF8SKIP(s);
 	}
     }
-    if (grows) {
+    if (grows || hibit) {
 	sv_setpvn(sv, (char*)dstart, d - dstart);
 	Safefree(dstart);
+	if (grows && hibit)
+	    Safefree(start);
     }
     else {
 	*d = '\0';
 	SvCUR_set(sv, d - dstart);
     }
     SvUTF8_on(sv);
-    if (hibit)
-	Safefree(start);
     if (!isutf8 && !(PL_hints & HINT_UTF8))
 	sv_utf8_downgrade(sv, TRUE);
     SvSETMAGIC(sv);
===================================================================
--
	Inaba Hiroto <inaba@sdd.tokyo-sc.toshiba.co.jp/inaba@st.rim.or.jp>

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About