On Friday 09 November 2007 09:00:00 [EMAIL PROTECTED] wrote: > Author: paultcochrane > Date: Fri Nov 9 08:59:59 2007 > New Revision: 22780 > > Modified: > trunk/src/objects.c > trunk/src/pmc/namespace.pmc > trunk/src/pmc_freeze.c > > Log: > [core,pmc] Removed unreachable code compiler warnings > > Modified: trunk/src/objects.c > =========================================================================== >=== --- trunk/src/objects.c (original) > +++ trunk/src/objects.c Fri Nov 9 08:59:59 2007 > @@ -1918,10 +1918,8 @@ > > /* RT#45989 escape NUL char */ > if (VTABLE_exists_keyed_str(interp, attr_hash, full_attr_name)) { > - char * const c_error = string_to_cstring(interp, full_attr_name); > - real_exception(interp, NULL, 1, "Attribute '%s' already exists", > c_error); - /* RT#45991 leak! */ > - string_cstring_free(c_error); > + real_exception(interp, NULL, 1, "Attribute '%s' already exists", > + string_to_cstring(interp, full_attr_name)); > }
I'm not a huge fan of this, especially when removing the RT #45591 link, but a better solution is to use the format %Ss, which tells Parrot's sprintf engine that it's getting a STRING. This avoids the memory leak of string_to_cstring(). -- c