fixed SetEventParameter() signature: removed unneccesary length arg.
diff --git a/Mac/Modules/carbonevt/CarbonEvtscan.py b/Mac/Modules/carbonevt/CarbonEvtscan.py
index e93baf3..37faa54 100644
--- a/Mac/Modules/carbonevt/CarbonEvtscan.py
+++ b/Mac/Modules/carbonevt/CarbonEvtscan.py
@@ -107,7 +107,10 @@
 #				]
 
 	def makerepairinstructions(self):
-		return []
+		return [
+			([("UInt32", 'inSize', "InMode"), ("void_ptr", 'inDataPtr', "InMode")],
+				[("MyInBuffer", 'inDataPtr', "InMode")])
+		]
 		
 if __name__ == "__main__":
 	main()
diff --git a/Mac/Modules/carbonevt/CarbonEvtsupport.py b/Mac/Modules/carbonevt/CarbonEvtsupport.py
index 0ce2af8..8ed13eb 100644
--- a/Mac/Modules/carbonevt/CarbonEvtsupport.py
+++ b/Mac/Modules/carbonevt/CarbonEvtsupport.py
@@ -34,6 +34,12 @@
 void_ptr = stringptr
 # here are some types that are really other types
 
+class MyVarInputBufferType(VarInputBufferType):
+	def passInput(self, name):
+		return "%s__len__, %s__in__" % (name, name)
+
+MyInBuffer = MyVarInputBufferType('char', 'long', 'l')		# (buf, len)
+
 EventTime = double
 EventTimeout = EventTime
 EventTimerInterval = EventTime
diff --git a/Mac/Modules/carbonevt/_CarbonEvtmodule.c b/Mac/Modules/carbonevt/_CarbonEvtmodule.c
index eef1e3c..8488a2f 100755
--- a/Mac/Modules/carbonevt/_CarbonEvtmodule.c
+++ b/Mac/Modules/carbonevt/_CarbonEvtmodule.c
@@ -215,19 +215,19 @@
 	OSStatus _err;
 	OSType inName;
 	OSType inType;
-	UInt32 inSize;
-	char* inDataPtr;
-	if (!PyArg_ParseTuple(_args, "O&O&ls",
+	char *inDataPtr__in__;
+	long inDataPtr__len__;
+	int inDataPtr__in_len__;
+	if (!PyArg_ParseTuple(_args, "O&O&s#",
 	                      PyMac_GetOSType, &inName,
 	                      PyMac_GetOSType, &inType,
-	                      &inSize,
-	                      &inDataPtr))
+	                      &inDataPtr__in__, &inDataPtr__in_len__))
 		return NULL;
+	inDataPtr__len__ = inDataPtr__in_len__;
 	_err = SetEventParameter(_self->ob_itself,
 	                         inName,
 	                         inType,
-	                         inSize,
-	                         inDataPtr);
+	                         inDataPtr__len__, inDataPtr__in__);
 	if (_err != noErr) return PyMac_Error(_err);
 	Py_INCREF(Py_None);
 	_res = Py_None;
@@ -386,7 +386,7 @@
 	{"ReleaseEvent", (PyCFunction)EventRef_ReleaseEvent, 1,
 	 "() -> None"},
 	{"SetEventParameter", (PyCFunction)EventRef_SetEventParameter, 1,
-	 "(OSType inName, OSType inType, UInt32 inSize, char* inDataPtr) -> None"},
+	 "(OSType inName, OSType inType, Buffer inDataPtr) -> None"},
 	{"GetEventClass", (PyCFunction)EventRef_GetEventClass, 1,
 	 "() -> (UInt32 _rv)"},
 	{"GetEventKind", (PyCFunction)EventRef_GetEventKind, 1,