Fiddled declaration/implementation of setcallback() so that it is ansifyable.
diff --git a/Mac/Modules/ctl/Ctlmodule.c b/Mac/Modules/ctl/Ctlmodule.c
index cafe0d6..8632767 100644
--- a/Mac/Modules/ctl/Ctlmodule.c
+++ b/Mac/Modules/ctl/Ctlmodule.c
@@ -93,6 +93,9 @@
 
 extern int settrackfunc(PyObject *); 	/* forward */
 extern void clrtrackfunc(void);	/* forward */
+#ifndef TARGET_API_MAC_CARBON_NOTYET
+staticforward int setcallback(PyObject *, OSType, PyObject *, UniversalProcPtr *);
+#endif
 
 static PyObject *Ctl_Error;
 
@@ -1441,7 +1444,7 @@
 	ControlPartCode inPart;
 	ResType inTagName;
 	PyObject *callback;
-	UniversalProcPtr *c_callback;
+	UniversalProcPtr c_callback;
 
 	if (!PyArg_ParseTuple(_args, "hO&O",
 	                      &inPart,
@@ -1449,7 +1452,7 @@
 	                      &callback))
 		return NULL;
 
-	if ( setcallback(_self, inTagName, callback, &c_callback) < 0 )
+	if ( setcallback((PyObject *)_self, inTagName, callback, &c_callback) < 0 )
 		return NULL;
 	_err = SetControlData(_self->ob_itself,
 		              inPart,
@@ -2164,12 +2167,13 @@
 
 #ifndef TARGET_API_MAC_CARBON_NOTYET
 static int
-setcallback(self, which, callback, uppp)
-	ControlObject *self;
+setcallback(myself, which, callback, uppp)
+	PyObject *myself;
 	OSType which;
 	PyObject *callback;
 	UniversalProcPtr *uppp;
 {
+	ControlObject *self = (ControlObject *)myself;
 	char keybuf[9];
 	
 	if ( which == kControlUserPaneDrawProcTag )