Update of /cvsroot/pywin32/pywin32/win32/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4778
Modified Files:
Tag: py3k
PyWinTypesmodule.cpp
Log Message:
Return unicode msg in PyWin_SetBasicCOMError
Index: PyWinTypesmodule.cpp
===================================================================
RCS file: /cvsroot/pywin32/pywin32/win32/src/PyWinTypesmodule.cpp,v
retrieving revision 1.39.2.2
retrieving revision 1.39.2.3
diff -C2 -d -r1.39.2.2 -r1.39.2.3
*** PyWinTypesmodule.cpp 31 Aug 2008 02:11:22 -0000 1.39.2.2
--- PyWinTypesmodule.cpp 12 Sep 2008 07:04:46 -0000 1.39.2.3
***************
*** 350,354 ****
TCHAR buf[255];
! int bufSize = sizeof(buf);
int numCopied = ::FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, hr, 0, buf, bufSize, NULL );
if (numCopied>0) {
--- 350,354 ----
TCHAR buf[255];
! int bufSize = sizeof(buf)/sizeof(TCHAR);
int numCopied = ::FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, hr, 0, buf, bufSize, NULL );
if (numCopied>0) {
***************
*** 361,367 ****
wsprintf(buf, _T("COM Error 0x%x"), hr);
}
! PyObject *obBuf = PyString_FromTCHAR(buf);
! PyObject *evalue = Py_BuildValue("iOzz", hr, obBuf, NULL, NULL);
! Py_XDECREF(obBuf);
PyErr_SetObject(PyWinExc_COMError, evalue);
Py_XDECREF(evalue);
--- 361,365 ----
wsprintf(buf, _T("COM Error 0x%x"), hr);
}
! PyObject *evalue = Py_BuildValue("iNzz", hr, PyWinObject_FromTCHAR(buf), NULL, NULL);
PyErr_SetObject(PyWinExc_COMError, evalue);
Py_XDECREF(evalue);
|