[pywin32-checkins] /hgroot/pywin32/pywin32: Treat MAPI property-tags as unsigned lo...
OLD project page for the Python extensions for Windows
Brought to you by:
mhammond
From: <pyw...@li...> - 2014-05-26 00:29:55
|
changeset 2e9e6d6bf4a3 in /hgroot/pywin32/pywin32 details: http://pywin32.hg.sourceforge.net/hgweb/pywin32/pywin32/hgroot/pywin32/pywin32?cmd=changeset;node=2e9e6d6bf4a3 summary: Treat MAPI property-tags as unsigned longs. diffstat: com/win32comext/mapi/src/PyIMAPIProp.i | 4 ++-- com/win32comext/mapi/src/mapiutil.cpp | 30 +++++++++++++++--------------- 2 files changed, 17 insertions(+), 17 deletions(-) diffs (130 lines): diff -r 54ff1deffcbf -r 2e9e6d6bf4a3 com/win32comext/mapi/src/PyIMAPIProp.i --- a/com/win32comext/mapi/src/PyIMAPIProp.i Sun May 04 15:29:59 2014 +1000 +++ b/com/win32comext/mapi/src/PyIMAPIProp.i Mon May 26 10:21:01 2014 +1000 @@ -261,11 +261,11 @@ HRESULT hr; IMAPIProp *pMAPIProp; if ((pMAPIProp=GetI(self))==NULL) return NULL; - // @pyparm int|propTag||The property tag to open + // @pyparm ULONG|propTag||The property tag to open // @pyparm <o PyIID>|iid||The IID of the resulting interface. // @pyparm int|interfaceOptions||Data that relates to the interface identified by the lpiid parameter. // @pyparm int|flags||flags - if(!PyArg_ParseTuple(args,"lOll:OpenProperty",&propTag, &obIID, &interfaceOptions, &flags)) + if(!PyArg_ParseTuple(args,"kOll:OpenProperty",&propTag, &obIID, &interfaceOptions, &flags)) return NULL; // IID. if (!PyWinObject_AsIID(obIID, &iid)) diff -r 54ff1deffcbf -r 2e9e6d6bf4a3 com/win32comext/mapi/src/mapiutil.cpp --- a/com/win32comext/mapi/src/mapiutil.cpp Sun May 04 15:29:59 2014 +1000 +++ b/com/win32comext/mapi/src/mapiutil.cpp Mon May 26 10:21:01 2014 +1000 @@ -125,9 +125,9 @@ BOOL PyMAPIObject_AsSPropValue(PyObject *Valob, SPropValue *pv, void *pAllocMoreLinkBlock) { PyObject *ob; - // @pyparm int|propType||The type of the MAPI property + // @pyparm ULONG|propType||The type of the MAPI property // @pyparm object|value||The property value - if (!PyArg_ParseTuple(Valob, "lO:SPropValue item", &pv->ulPropTag, &ob )) { + if (!PyArg_ParseTuple(Valob, "kO:SPropValue item", &pv->ulPropTag, &ob )) { PyErr_Clear(); PyErr_SetString(PyExc_TypeError, "An SPropValue item must be a tuple of (integer, object)"); return NULL; @@ -514,7 +514,7 @@ PyErr_SetString(PyExc_MemoryError, "Tuple(2) for PROP result"); return NULL; } - PyTuple_SET_ITEM(rc, 0, PyInt_FromLong(pv->ulPropTag)); + PyTuple_SET_ITEM(rc, 0, PyLong_FromUnsignedLong(pv->ulPropTag)); PyTuple_SET_ITEM(rc, 1, val); return rc; } @@ -723,7 +723,7 @@ MAPIFreeBuffer(pta); return FALSE; } - pta->aulPropTag[i] = PyInt_AsLong(obItem); + pta->aulPropTag[i] = PyLong_AsUnsignedLong(obItem); if (PyErr_Occurred()) { Py_DECREF(obItem); MAPIFreeBuffer(pta); @@ -733,7 +733,7 @@ } } else { // Simple int. - pta->aulPropTag[0] = PyInt_AsLong(obta); + pta->aulPropTag[0] = PyLong_AsUnsignedLong(obta); } *ppta = pta; return TRUE; @@ -749,7 +749,7 @@ { PyObject *ret = PyTuple_New(pta->cValues); for (ULONG i=0;i<pta->cValues;i++) { - PyTuple_SET_ITEM(ret, i, PyInt_FromLong(pta->aulPropTag[i])); + PyTuple_SET_ITEM(ret, i, PyLong_FromUnsignedLong(pta->aulPropTag[i])); } return ret; } @@ -859,7 +859,7 @@ goto loop_error; if (PyInt_Check(obPropId)) { pNew->ulKind = MNID_ID; - pNew->Kind.lID = PyInt_AsLong(obPropId); + pNew->Kind.lID = PyLong_AsUnsignedLong(obPropId); } else if (PyWinObject_AsBstr(obPropId, &bstrVal)) { // Make a copy of the string pNew->ulKind = MNID_STRING; @@ -922,11 +922,11 @@ // @object PySExistRestriction| BOOL PyMAPIObject_AsSExistRestriction(PyObject *ob, SExistRestriction *pRest, void *pAllocMoreLinkBlock) { - // @pyparm int|propTag||The property ID to check for existance. + // @pyparm ULONG|propTag||The property ID to check for existance. // @pyparm int|reserved1|0| // @pyparm int|reserved2|0| pRest->ulReserved1 = pRest->ulReserved2 = 0; - if (!PyArg_ParseTuple(ob, "l|ll:SExistRestriction tuple", &pRest->ulPropTag, &pRest->ulReserved1, &pRest->ulReserved2)) + if (!PyArg_ParseTuple(ob, "k|ll:SExistRestriction tuple", &pRest->ulPropTag, &pRest->ulReserved1, &pRest->ulReserved2)) return FALSE; return TRUE; } @@ -935,10 +935,10 @@ BOOL PyMAPIObject_AsSPropertyRestriction(PyObject *ob, SPropertyRestriction *pRest, void *pAllocMoreLinkBlock) { // @pyparm int|relOp|| - // @pyparm int|propTag||The property ID. + // @pyparm ULONG|propTag||The property ID. // @pyparm <o PySPropValue>|propertyValue|| PyObject *subOb; - if (!PyArg_ParseTuple(ob, "llO:SPropertyRestriction tuple", &pRest->relop, &pRest->ulPropTag, &subOb)) + if (!PyArg_ParseTuple(ob, "lkO:SPropertyRestriction tuple", &pRest->relop, &pRest->ulPropTag, &subOb)) return FALSE; HRESULT hr; if (FAILED((hr=MAPIAllocateMore(sizeof(SPropValue), pAllocMoreLinkBlock, (void **)&pRest->lpProp)))) { @@ -953,10 +953,10 @@ BOOL PyMAPIObject_AsSContentRestriction(PyObject *ob, SContentRestriction *pRest, void *pAllocMoreLinkBlock) { // @pyparm int|fuzzyLevel|| - // @pyparm int|propTag||The property ID. + // @pyparm ULONG|propTag||The property ID. // @pyparm <o PySPropValue>|propertyValue|| PyObject *subOb; - if (!PyArg_ParseTuple(ob, "llO:SContentRestriction tuple", &pRest->ulFuzzyLevel, &pRest->ulPropTag, &subOb)) + if (!PyArg_ParseTuple(ob, "lkO:SContentRestriction tuple", &pRest->ulFuzzyLevel, &pRest->ulPropTag, &subOb)) return FALSE; HRESULT hr; if (FAILED((hr=MAPIAllocateMore(sizeof(SPropValue), pAllocMoreLinkBlock, (void **)&pRest->lpProp)))) { @@ -1037,10 +1037,10 @@ BOOL PyMAPIObject_AsSBitMaskRestriction(PyObject *ob, SBitMaskRestriction *pRest, void *pAllocMoreLinkBlock) { // @pyparm int|relBMR|| - // @pyparm int|propTag||The property ID. + // @pyparm ULONG|propTag||The property ID. // @pyparm int|ulMask|0| pRest->ulMask=0; - if (!PyArg_ParseTuple(ob, "ll|l", &pRest->relBMR, &pRest->ulPropTag, &pRest->ulMask)) + if (!PyArg_ParseTuple(ob, "lk|l", &pRest->relBMR, &pRest->ulPropTag, &pRest->ulMask)) return FALSE; return TRUE; } |