On Saturday 11 October 2008 02:55:08 Allison Randal wrote: > [EMAIL PROTECTED] wrote:
> > Modified: > > trunk/src/inter_call.c > > > > Log: > > [src] Fixed a memory leak in Parrot_pcc_invoke_sub_from_sig_object(), > > where nothing freed a C string created from the signature object. I'm > > not completely convinced that this is correct, but Valgrind is happier > > now. > > > > Modified: trunk/src/inter_call.c > > ========================================================================= > >===== --- trunk/src/inter_call.c (original) > > +++ trunk/src/inter_call.c Wed Oct 8 20:55:25 2008 > > [...] > > > interp->current_args = save_current_args; > > interp->args_signature = save_args_signature; > > interp->current_object = save_current_object; > > + string_cstring_free(signature); > > } > > This change is the cause of this warning in gcc: > > src/inter_call.c: In function ‘Parrot_pcc_invoke_sub_from_sig_object’: > src/inter_call.c:2665: warning: passing argument 1 of > ‘string_cstring_free’ discards qualifiers from pointer target type > > So, not the right fix. That warning is mostly irrelevant in this case. It means that signature is a const char * in the caller but the callee expects a char *. I think NotFound already removed the const to satisfy C++ compilers anyway. (Though the point that having to free these explicitly is a pain is true.) -- c _______________________________________________ http://lists.parrot.org/mailman/listinfo/parrot-dev
