Am 04.04.2005 um 03:16 schrieb Stephen Deasey:
I haven't figured this out yet :-( It's probably going to be next week before I can take another look.
Hmmm... just went on Purify trip and unfortunately no cigar. But... I was experimenting somehow, and looking parallel into some of our code and Tcl's code about obj handling. There are two places I found: RCS file: /cvsroot/naviserver/naviserver/nsd/tclobj.c,v retrieving revision 1.2 diff -r1.2 tclobj.c 123c123 < (typePtr->freeIntRepProc)(objPtr); --- > (*typePtr->freeIntRepProc)(objPtr); I wonder how this *ever* worked before? I doubt that anybody seriously used that. Another thing: I do not think you should free the string rep of the object by just calling the Tcl_ConvertToType (which eventually calls SetSpecFromAny()). I modified the SetSpecFromAny() to skip forcefully invalidating the string rep and now it works. Also, in FreeSpecObj, it is necessary to zero-out the ptr1/ptr2 after freeing them since this will bring up the real problem sooner on the surface. Besides, it is also cleaner. I've checked those changes. Please have a look and see if this is OK for you. Zoran
