Author: stas
Date: Tue Feb  8 17:39:28 2005
New Revision: 152974

URL: http://svn.apache.org/viewcvs?view=rev&rev=152974
Log:
remove the previously added temporary storage of the str() output in a 
lexical variable. apparently it doesn't make any difference on win32.
[Steve Hay <[EMAIL PROTECTED]>]

Modified:
    perl/modperl/trunk/xs/APR/Error/Error_pm

Modified: perl/modperl/trunk/xs/APR/Error/Error_pm
URL: 
http://svn.apache.org/viewcvs/perl/modperl/trunk/xs/APR/Error/Error_pm?view=diff&r1=152973&r2=152974
==============================================================================
--- perl/modperl/trunk/xs/APR/Error/Error_pm (original)
+++ perl/modperl/trunk/xs/APR/Error/Error_pm Tue Feb  8 17:39:28 2005
@@ -30,15 +30,9 @@
 # - the filename and line number are needed because perl doesn't
 #   provide that info when exception objects are involved
 sub str {
-    # This function is called by SvTRUE in modperl_errsv() via
-    # overload and on win32 (and randomly on linux) causes crashes
-    # via: "Attempt to free temp prematurely" warning, where this
-    # 'temp' is the string returned by this function. Making it a
-    # lexical variable before returning it, resolves the problem
-    my $str = sprintf "%s: (%d) %s at %s line %d", $_[0]->{func},
+    return sprintf "%s: (%d) %s at %s line %d", $_[0]->{func},
         $_[0]->{rc}, APR::Error::strerror($_[0]->{rc}),
         $_[0]->{file}, $_[0]->{line};
-    return $str;
 }
 
 sub num { $_[0]->{rc} }


Reply via email to