diff --git a/Mac/Modules/carbonevt/_CarbonEvtmodule.c b/Mac/Modules/carbonevt/_CarbonEvtmodule.c
index fee43cc..fd4b266 100755
--- a/Mac/Modules/carbonevt/_CarbonEvtmodule.c
+++ b/Mac/Modules/carbonevt/_CarbonEvtmodule.c
@@ -40,7 +40,7 @@
                         PyMac_GetOSType, &(out->eventClass),
                         &(out->eventKind)))
                 return 1;
-        return NULL;
+        return 0;
 }
 
 /********** end EventTypeSpec *******/
@@ -78,7 +78,7 @@
 {
         if (PyArg_ParseTuple(v, "ll", &out->signature, &out->id))
                 return 1;
-        return NULL;
+        return 0;
 }
 
 /********** end EventHotKeyID *******/
diff --git a/Mac/Modules/cf/_CFmodule.c b/Mac/Modules/cf/_CFmodule.c
index 22e9676..5f934c2 100644
--- a/Mac/Modules/cf/_CFmodule.c
+++ b/Mac/Modules/cf/_CFmodule.c
@@ -1329,7 +1329,7 @@
 	if (v == Py_None) { *p_itself = NULL; return 1; }
 	if (PyString_Check(v)) {
 	    char *cStr;
-	    int cLen;
+	    Py_ssize_t cLen;
 	    if( PyString_AsStringAndSize(v, &cStr, &cLen) < 0 ) return 0;
 	    *p_itself = CFDataCreate((CFAllocatorRef)NULL, (unsigned char *)cStr, cLen);
 	    return 1;
@@ -1826,7 +1826,7 @@
 	if (PyString_Check(v)) {
 	    char *cStr;
 	    if (!PyArg_Parse(v, "es", "ascii", &cStr))
-	        return NULL;
+	        return 0;
 	        *p_itself = CFStringCreateWithCString((CFAllocatorRef)NULL, cStr, kCFStringEncodingASCII);
 	        return 1;
 	}
diff --git a/Mac/Modules/gestaltmodule.c b/Mac/Modules/gestaltmodule.c
index f82687e..6d8673f 100644
--- a/Mac/Modules/gestaltmodule.c
+++ b/Mac/Modules/gestaltmodule.c
@@ -33,17 +33,10 @@
 gestalt_gestalt(PyObject *self, PyObject *args)
 {
 	OSErr iErr;
-	char *str;
-	int size;
 	OSType selector;
 	long response;
-	if (!PyArg_Parse(args, "s#", &str, &size))
+	if (!PyArg_Parse(args, "O&", PyMac_GetOSType, &selector))
 		return NULL;
-	if (size != 4) {
-		PyErr_SetString(PyExc_TypeError, "gestalt arg must be 4-char string");
-		return NULL;
-	}
-	selector = *(OSType*)str;
 	iErr = Gestalt ( selector, &response );
 	if (iErr != 0) 
 		return PyMac_Error(iErr);
diff --git a/Mac/Modules/qd/_Qdmodule.c b/Mac/Modules/qd/_Qdmodule.c
index 118dfc4..bfb040f 100644
--- a/Mac/Modules/qd/_Qdmodule.c
+++ b/Mac/Modules/qd/_Qdmodule.c
@@ -5824,7 +5824,6 @@
 {
 	PyObject *_res = NULL;
 	char *textBuf__in__;
-	int textBuf__len__;
 	int textBuf__in_len__;
 	short firstByte;
 	short byteCount;
@@ -5885,7 +5884,6 @@
 	PyObject *_res = NULL;
 	short _rv;
 	char *textBuf__in__;
-	int textBuf__len__;
 	int textBuf__in_len__;
 	short firstByte;
 	short byteCount;
@@ -6471,7 +6469,6 @@
 {
 	PyObject *_res = NULL;
 	char *textBuf__in__;
-	int textBuf__len__;
 	int textBuf__in_len__;
 	short firstByte;
 	short byteCount;
@@ -6534,7 +6531,7 @@
 	        return NULL;
 	if ( PyString_Size(source) != sizeof(BitMap) && PyString_Size(source) != sizeof(PixMap) ) {
 	        PyErr_Format(PyExc_TypeError,
-	                "Argument size was %d, should be %d (sizeof BitMap) or %d (sizeof PixMap)",
+	                "Argument size was %ld, should be %lu (sizeof BitMap) or %lu (sizeof PixMap)",
 	                PyString_Size(source), sizeof(BitMap), sizeof(PixMap));
 	        return NULL;
 	}
