[49204] trunk/base/src/tclobjc1.0
toby at macports.org
toby at macports.org
Sun Apr 5 03:33:07 PDT 2009
Revision: 49204
http://trac.macports.org/changeset/49204
Author: toby at macports.org
Date: 2009-04-05 03:33:06 -0700 (Sun, 05 Apr 2009)
Log Message:
-----------
fix memory smasher (that happened to work most of the time)
Modified Paths:
--------------
trunk/base/src/tclobjc1.0/objc_encoding.m
trunk/base/src/tclobjc1.0/tclobjc.m
Modified: trunk/base/src/tclobjc1.0/objc_encoding.m
===================================================================
--- trunk/base/src/tclobjc1.0/objc_encoding.m 2009-04-05 10:13:24 UTC (rev 49203)
+++ trunk/base/src/tclobjc1.0/objc_encoding.m 2009-04-05 10:33:06 UTC (rev 49204)
@@ -53,15 +53,15 @@
switch(*type) {
case _C_CHARPTR:
- *objPtr = Tcl_NewStringObj((char *) val, -1);
+ *objPtr = Tcl_NewStringObj(*(char **)val, -1);
return (TCL_OK);
case _C_INT:
- *objPtr = Tcl_NewIntObj((int)(intptr_t)val);
+ *objPtr = Tcl_NewIntObj(*(int *)val);
return (TCL_OK);
case _C_ID:
- *objPtr = TclObjC_NewIdObj(val);
+ *objPtr = TclObjC_NewIdObj(*(id *)val);
name = Tcl_GetString(*objPtr);
- Tcl_CreateObjCommand(interp, (char *) name, tclobjc_dispatch, (id) val, NULL);
+ Tcl_CreateObjCommand(interp, (char *)name, tclobjc_dispatch, *(id *)val, NULL);
return (TCL_OK);
default:
/* Unhandled objc type encoding */
Modified: trunk/base/src/tclobjc1.0/tclobjc.m
===================================================================
--- trunk/base/src/tclobjc1.0/tclobjc.m 2009-04-05 10:13:24 UTC (rev 49203)
+++ trunk/base/src/tclobjc1.0/tclobjc.m 2009-04-05 10:33:06 UTC (rev 49204)
@@ -146,10 +146,12 @@
[invocation invoke];
fprintf(stderr, "result size = %lu\n", (unsigned long)[signature methodReturnLength]);
- [invocation getReturnValue:&result_ptr];
+ result_ptr = malloc([signature methodReturnLength]);
+ [invocation getReturnValue:result_ptr];
result_type = tclobjc_getreturn_typestring(signature);
result = objc_to_tclobj(interp, &tcl_result, result_type, result_ptr);
+ free(result_ptr);
Tcl_SetObjResult(interp, tcl_result);
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20090405/140dcf75/attachment.html>
More information about the macports-changes
mailing list