Update of /cvsroot/pywin32/pywin32/com/win32com/src/extensions
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2919/extensions
Modified Files:
Tag: py3k
PyGEnumVariant.cpp PyGErrorLog.cpp PyGPropertyBag.cpp
PyICatInformation.cpp PyIEnumCATEGORYINFO.cpp PyIMoniker.cpp
PyIStorage.cpp
Log Message:
Allow to build with UNICODE defined
More changes for Py3k
Index: PyIMoniker.cpp
===================================================================
RCS file: /cvsroot/pywin32/pywin32/com/win32com/src/extensions/PyIMoniker.cpp,v
retrieving revision 1.4
retrieving revision 1.4.4.1
diff -C2 -d -r1.4 -r1.4.4.1
*** PyIMoniker.cpp 2 Nov 2003 09:56:42 -0000 1.4
--- PyIMoniker.cpp 13 Sep 2008 04:26:18 -0000 1.4.4.1
***************
*** 299,312 ****
if (S_OK!=hr) // S_OK only acceptable
return PyCom_BuildPyException(hr, pMy, IID_IMoniker);
! PyObject *obResult = PyString_FromUnicode(result);
!
! IMalloc *pMalloc = NULL;
! #ifndef MS_WINCE // So how do I fix this leak on CE?
! CoGetMalloc(1, &pMalloc);
! #endif
! if (pMalloc) {
! pMalloc->Free(result);
! pMalloc->Release();
! }
return obResult;
}
--- 299,304 ----
if (S_OK!=hr) // S_OK only acceptable
return PyCom_BuildPyException(hr, pMy, IID_IMoniker);
! PyObject *obResult = PyWinObject_FromWCHAR(result);
! CoTaskMemFree(result);
return obResult;
}
Index: PyIEnumCATEGORYINFO.cpp
===================================================================
RCS file: /cvsroot/pywin32/pywin32/com/win32com/src/extensions/PyIEnumCATEGORYINFO.cpp,v
retrieving revision 1.6
retrieving revision 1.6.4.1
diff -C2 -d -r1.6 -r1.6.4.1
*** PyIEnumCATEGORYINFO.cpp 2 Nov 2003 09:57:44 -0000 1.6
--- PyIEnumCATEGORYINFO.cpp 13 Sep 2008 04:26:18 -0000 1.6.4.1
***************
*** 64,68 ****
{
PyObject *obNewIID = PyWinObject_FromIID(rgVar[i].catid);
! PyObject *ob = Py_BuildValue("OiN", obNewIID, rgVar[i].lcid, PyString_FromUnicode(rgVar[i].szDescription));
Py_XDECREF(obNewIID);
if ( ob == NULL )
--- 64,68 ----
{
PyObject *obNewIID = PyWinObject_FromIID(rgVar[i].catid);
! PyObject *ob = Py_BuildValue("OiN", obNewIID, rgVar[i].lcid, PyWinObject_FromWCHAR(rgVar[i].szDescription));
Py_XDECREF(obNewIID);
if ( ob == NULL )
Index: PyIStorage.cpp
===================================================================
RCS file: /cvsroot/pywin32/pywin32/com/win32com/src/extensions/PyIStorage.cpp,v
retrieving revision 1.4
retrieving revision 1.4.4.1
diff -C2 -d -r1.4 -r1.4.4.1
*** PyIStorage.cpp 25 Jan 2005 13:33:16 -0000 1.4
--- PyIStorage.cpp 13 Sep 2008 04:26:18 -0000 1.4.4.1
***************
*** 551,555 ****
if (ppstm==NULL) return E_POINTER;
PyObject *result;
! PyObject *obName = PyString_FromUnicode(pwcsName);
HRESULT hr=InvokeViaPolicy("CreateStream", &result, "Oiii", obName, grfMode, reserved1, reserved2);
Py_XDECREF(obName);
--- 551,555 ----
if (ppstm==NULL) return E_POINTER;
PyObject *result;
! PyObject *obName = PyWinObject_FromWCHAR(pwcsName);
HRESULT hr=InvokeViaPolicy("CreateStream", &result, "Oiii", obName, grfMode, reserved1, reserved2);
Py_XDECREF(obName);
***************
*** 577,581 ****
if (ppstm==NULL) return E_POINTER;
PyObject *result;
! PyObject *obName = PyString_FromUnicode(pwcsName);
HRESULT hr=InvokeViaPolicy("OpenStream", &result, "Ozii", obName, NULL, grfMode, reserved2);
Py_XDECREF(obName);
--- 577,581 ----
if (ppstm==NULL) return E_POINTER;
PyObject *result;
! PyObject *obName = PyWinObject_FromWCHAR(pwcsName);
HRESULT hr=InvokeViaPolicy("OpenStream", &result, "Ozii", obName, NULL, grfMode, reserved2);
Py_XDECREF(obName);
***************
*** 603,607 ****
if (ppstg==NULL) return E_POINTER;
PyObject *result;
! PyObject *obName = PyString_FromUnicode(pwcsName);
HRESULT hr=InvokeViaPolicy("CreateStorage", &result, "Oiii", obName, grfMode, dwStgFmt, reserved2);
Py_XDECREF(obName);
--- 603,607 ----
if (ppstg==NULL) return E_POINTER;
PyObject *result;
! PyObject *obName = PyWinObject_FromWCHAR(pwcsName);
HRESULT hr=InvokeViaPolicy("CreateStorage", &result, "Oiii", obName, grfMode, dwStgFmt, reserved2);
Py_XDECREF(obName);
***************
*** 634,638 ****
PyObject *obpstgPriority = PyCom_PyObjectFromIUnknown(pstgPriority, IID_IStorage, TRUE);
PyObject *result;
! PyObject *obName = PyString_FromUnicode(pwcsName);
HRESULT hr=InvokeViaPolicy("OpenStorage", &result, "OOizi", obName, obpstgPriority, grfMode, NULL, reserved);
Py_XDECREF(obName);
--- 634,638 ----
PyObject *obpstgPriority = PyCom_PyObjectFromIUnknown(pstgPriority, IID_IStorage, TRUE);
PyObject *result;
! PyObject *obName = PyWinObject_FromWCHAR(pwcsName);
HRESULT hr=InvokeViaPolicy("OpenStorage", &result, "OOizi", obName, obpstgPriority, grfMode, NULL, reserved);
Py_XDECREF(obName);
***************
*** 677,682 ****
PY_GATEWAY_METHOD;
PyObject *obpstgDest = PyCom_PyObjectFromIUnknown(pstgDest, IID_IStorage, TRUE);
! PyObject *obName = PyString_FromUnicode(pwcsName);
! PyObject *obNewName = PyString_FromUnicode(pwcsNewName);
HRESULT hr=InvokeViaPolicy("MoveElementTo", NULL, "OOOi", obName, obpstgDest, obNewName, grfFlags);
Py_XDECREF(obpstgDest);
--- 677,682 ----
PY_GATEWAY_METHOD;
PyObject *obpstgDest = PyCom_PyObjectFromIUnknown(pstgDest, IID_IStorage, TRUE);
! PyObject *obName = PyWinObject_FromWCHAR(pwcsName);
! PyObject *obNewName = PyWinObject_FromWCHAR(pwcsNewName);
HRESULT hr=InvokeViaPolicy("MoveElementTo", NULL, "OOOi", obName, obpstgDest, obNewName, grfFlags);
Py_XDECREF(obpstgDest);
***************
*** 729,733 ****
{
PY_GATEWAY_METHOD;
! PyObject *obName = PyString_FromUnicode(pwcsName);
HRESULT hr=InvokeViaPolicy("DestroyElement", NULL, "O", obName);
Py_XDECREF(obName);
--- 729,733 ----
{
PY_GATEWAY_METHOD;
! PyObject *obName = PyWinObject_FromWCHAR(pwcsName);
HRESULT hr=InvokeViaPolicy("DestroyElement", NULL, "O", obName);
Py_XDECREF(obName);
***************
*** 740,745 ****
{
PY_GATEWAY_METHOD;
! PyObject *obOldName = PyString_FromUnicode(pwcsOldName);
! PyObject *obNewName = PyString_FromUnicode(pwcsNewName);
HRESULT hr=InvokeViaPolicy("RenameElement", NULL, "OO", obOldName, obNewName);
Py_XDECREF(obOldName);
--- 740,745 ----
{
PY_GATEWAY_METHOD;
! PyObject *obOldName = PyWinObject_FromWCHAR(pwcsOldName);
! PyObject *obNewName = PyWinObject_FromWCHAR(pwcsNewName);
HRESULT hr=InvokeViaPolicy("RenameElement", NULL, "OO", obOldName, obNewName);
Py_XDECREF(obOldName);
***************
*** 758,762 ****
PyObject *obpatime = new PyTime(*patime);
PyObject *obpmtime = new PyTime(*pmtime);
! PyObject *obName = PyString_FromUnicode(pwcsName);
HRESULT hr=InvokeViaPolicy("SetElementTimes", NULL, "OOOO", obName, obpctime, obpatime, obpmtime);
Py_XDECREF(obpctime);
--- 758,762 ----
PyObject *obpatime = new PyTime(*patime);
PyObject *obpmtime = new PyTime(*pmtime);
! PyObject *obName = PyWinObject_FromWCHAR(pwcsName);
HRESULT hr=InvokeViaPolicy("SetElementTimes", NULL, "OOOO", obName, obpctime, obpatime, obpmtime);
Py_XDECREF(obpctime);
Index: PyGPropertyBag.cpp
===================================================================
RCS file: /cvsroot/pywin32/pywin32/com/win32com/src/extensions/PyGPropertyBag.cpp,v
retrieving revision 1.2
retrieving revision 1.2.4.1
diff -C2 -d -r1.2 -r1.2.4.1
*** PyGPropertyBag.cpp 19 Nov 1999 04:03:23 -0000 1.2
--- PyGPropertyBag.cpp 13 Sep 2008 04:26:18 -0000 1.2.4.1
***************
*** 26,30 ****
}
! PyObject *obName = PyString_FromUnicode(pszPropName); // keep with string for b/w compat.
PyObject *result;
HRESULT hr = InvokeViaPolicy("Read",
--- 26,30 ----
}
! PyObject *obName = PyWinObject_FromWCHAR(pszPropName);
PyObject *result;
HRESULT hr = InvokeViaPolicy("Read",
***************
*** 57,61 ****
return PyCom_SetCOMErrorFromPyException(GetIID());
! PyObject *obName = PyString_FromUnicode(pszPropName); // keep with string for b/w compat.
HRESULT hr = InvokeViaPolicy("Write",
NULL,
--- 57,61 ----
return PyCom_SetCOMErrorFromPyException(GetIID());
! PyObject *obName = PyWinObject_FromWCHAR(pszPropName);
HRESULT hr = InvokeViaPolicy("Write",
NULL,
Index: PyGErrorLog.cpp
===================================================================
RCS file: /cvsroot/pywin32/pywin32/com/win32com/src/extensions/PyGErrorLog.cpp,v
retrieving revision 1.2
retrieving revision 1.2.4.1
diff -C2 -d -r1.2 -r1.2.4.1
*** PyGErrorLog.cpp 19 Nov 1999 04:03:23 -0000 1.2
--- PyGErrorLog.cpp 13 Sep 2008 04:26:18 -0000 1.2.4.1
***************
*** 16,21 ****
return PyCom_SetCOMErrorFromPyException(GetIID());
! // We use a string object for B/W compatibility.
! PyObject *obName = PyString_FromUnicode(pszPropName);
HRESULT hr = InvokeViaPolicy("AddError",
NULL,
--- 16,20 ----
return PyCom_SetCOMErrorFromPyException(GetIID());
! PyObject *obName = PyWinObject_FromWCHAR(pszPropName);
HRESULT hr = InvokeViaPolicy("AddError",
NULL,
Index: PyICatInformation.cpp
===================================================================
RCS file: /cvsroot/pywin32/pywin32/com/win32com/src/extensions/PyICatInformation.cpp,v
retrieving revision 1.5
retrieving revision 1.5.4.1
diff -C2 -d -r1.5 -r1.5.4.1
*** PyICatInformation.cpp 9 Apr 2004 11:27:04 -0000 1.5
--- PyICatInformation.cpp 13 Sep 2008 04:26:18 -0000 1.5.4.1
***************
*** 134,140 ****
if (S_OK!=hr) // S_OK only acceptable
return PyCom_BuildPyException(hr, pMy, IID_ICatInformation);
! // @comm The return type is a true PyString, not a Uniocode object.
! // @todo Upgrade the return type to be Unicode.
! PyObject *rc = PyString_FromUnicode(pResult);
CoTaskMemFree(pResult);
return rc;
--- 134,138 ----
if (S_OK!=hr) // S_OK only acceptable
return PyCom_BuildPyException(hr, pMy, IID_ICatInformation);
! PyObject *rc = PyWinObject_FromWCHAR(pResult);
CoTaskMemFree(pResult);
return rc;
Index: PyGEnumVariant.cpp
===================================================================
RCS file: /cvsroot/pywin32/pywin32/com/win32com/src/extensions/PyGEnumVariant.cpp,v
retrieving revision 1.2
retrieving revision 1.2.4.1
diff -C2 -d -r1.2 -r1.2.4.1
*** PyGEnumVariant.cpp 19 Nov 1999 04:03:23 -0000 1.2
--- PyGEnumVariant.cpp 13 Sep 2008 04:26:18 -0000 1.2.4.1
***************
*** 4,10 ****
#include "PyIEnumVARIANT.h"
- extern void PyCom_LogF(const TCHAR *fmt, ...);
- #define LogF PyCom_LogF
-
STDMETHODIMP PyGEnumVARIANT::Next(
/* [in] */ ULONG celt,
--- 4,7 ----
***************
*** 52,56 ****
error:
PyErr_Clear(); // just in case
! LogF(_T("PyGEnumVariant::Next got a bad return value"));
Py_DECREF(result);
return PyCom_SetCOMErrorFromSimple(E_FAIL, IID_IEnumVARIANT, "Next() did not return a sequence of objects");
--- 49,53 ----
error:
PyErr_Clear(); // just in case
! PyCom_LogF("PyGEnumVariant::Next got a bad return value");
Py_DECREF(result);
return PyCom_SetCOMErrorFromSimple(E_FAIL, IID_IEnumVARIANT, "Next() did not return a sequence of objects");
|