]> granicus.if.org Git - python/commitdiff
fixed SetEventParameter() signature: removed unneccesary length arg.
authorJust van Rossum <just@letterror.com>
Thu, 3 Jan 2002 20:45:47 +0000 (20:45 +0000)
committerJust van Rossum <just@letterror.com>
Thu, 3 Jan 2002 20:45:47 +0000 (20:45 +0000)
Mac/Modules/carbonevt/CarbonEvtscan.py
Mac/Modules/carbonevt/CarbonEvtsupport.py
Mac/Modules/carbonevt/_CarbonEvtmodule.c

index e93baf3d03f630e28a5310fbfdf14dd65f26e762..37faa5467bb6d321396c6c1423179d977f946807 100644 (file)
@@ -107,7 +107,10 @@ class CarbonEvents_Scanner(Scanner_OSX):
 #                              ]
 
        def makerepairinstructions(self):
-               return []
+               return [
+                       ([("UInt32", 'inSize', "InMode"), ("void_ptr", 'inDataPtr', "InMode")],
+                               [("MyInBuffer", 'inDataPtr', "InMode")])
+               ]
                
 if __name__ == "__main__":
        main()
index 0ce2af8b10fb2df2c11b33995183cec1279b9949..8ed13eb09ad61f9985f606c4885100517d212948 100644 (file)
@@ -34,6 +34,12 @@ EventTypeSpec_ptr = OpaqueType("EventTypeSpec", "EventTypeSpec")
 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
index eef1e3c361889cad15fecfaf0b2f4c7b7befd648..8488a2f378fc4420a50f13715ff5edd8f74a339a 100755 (executable)
@@ -215,19 +215,19 @@ static PyObject *EventRef_SetEventParameter(EventRefObject *_self, PyObject *_ar
        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 @@ static PyMethodDef EventRef_methods[] = {
        {"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,