Update of /cvsroot/pywin32/pywin32/com/win32com/src/extensions
In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv9817/com/win32com/src/extensions
Modified Files:
PyGEnumVariant.cpp PyIType.cpp
Log Message:
Yet more TCHAR/64bit and other misc changes from py3k branch.
Index: PyIType.cpp
===================================================================
RCS file: /cvsroot/pywin32/pywin32/com/win32com/src/extensions/PyIType.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** PyIType.cpp 5 Jul 2001 08:08:13 -0000 1.9
--- PyIType.cpp 13 Nov 2008 11:11:58 -0000 1.10
***************
*** 404,412 ****
{
// XXX - todo - merge this code with PyIDispatch::GetIDsOfNames
UINT i;
!
! int argc = PyObject_Length(args);
! if ( argc == -1 )
! return NULL;
if ( argc < 1 ) {
PyErr_SetString(PyExc_TypeError, "At least one argument must be supplied");
--- 404,411 ----
{
// XXX - todo - merge this code with PyIDispatch::GetIDsOfNames
+ ITypeInfo *pti = PyITypeInfo::GetI(self);
+ if (pti==NULL) return NULL;
UINT i;
! int argc = PyTuple_GET_SIZE(args);
if ( argc < 1 ) {
PyErr_SetString(PyExc_TypeError, "At least one argument must be supplied");
***************
*** 417,430 ****
if ( argc > 1 )
{
! PyObject *ob = PySequence_GetItem(args, 0);
! if ( !ob )
! return NULL;
! if ( PyInt_Check(ob) )
! {
! lcid = PyInt_AS_LONG((PyIntObject *)ob);
! if ( lcid == -1 )
! return NULL;
offset = 1;
- }
}
--- 416,427 ----
if ( argc > 1 )
{
! PyObject *ob = PyTuple_GET_ITEM(args, 0);
! lcid=PyLong_AsLong(ob);
! if (lcid==-1 && PyErr_Occurred()){
! PyErr_Clear();
! lcid=LOCALE_SYSTEM_DEFAULT;
! }
! else
offset = 1;
}
***************
*** 434,445 ****
for ( i = 0 ; i < cNames; ++i )
{
! PyObject *ob = PySequence_GetItem(args, i + offset);
! if ( !ob )
! {
! for (;i>0;i--)
! PyWinObject_FreeBstr(rgszNames[i-1]);
! delete [] rgszNames;
! return NULL;
! }
if (!PyWinObject_AsBstr(ob, rgszNames+i)) {
for (;i>0;i--)
--- 431,435 ----
for ( i = 0 ; i < cNames; ++i )
{
! PyObject *ob = PyTuple_GET_ITEM(args, i + offset);
if (!PyWinObject_AsBstr(ob, rgszNames+i)) {
for (;i>0;i--)
***************
*** 448,466 ****
return NULL;
}
- Py_DECREF(ob);
}
DISPID FAR* rgdispid = new DISPID[cNames];
- ITypeInfo *pti = PyITypeInfo::GetI(self);
- if (pti==NULL) return NULL;
PY_INTERFACE_PRECALL;
HRESULT hr = pti->GetIDsOfNames(rgszNames, cNames, rgdispid);
PY_INTERFACE_POSTCALL;
delete [] rgszNames;
! if ( FAILED(hr) )
return PyCom_BuildPyException(hr, pti, IID_ITypeInfo);
!
PyObject *result;
--- 438,456 ----
return NULL;
}
}
DISPID FAR* rgdispid = new DISPID[cNames];
PY_INTERFACE_PRECALL;
HRESULT hr = pti->GetIDsOfNames(rgszNames, cNames, rgdispid);
PY_INTERFACE_POSTCALL;
+ for (i=0;i<cNames;i++)
+ PyWinObject_FreeBstr(rgszNames[i]);
delete [] rgszNames;
! if ( FAILED(hr) ){
! delete [] rgdispid;
return PyCom_BuildPyException(hr, pti, IID_ITypeInfo);
! }
PyObject *result;
Index: PyGEnumVariant.cpp
===================================================================
RCS file: /cvsroot/pywin32/pywin32/com/win32com/src/extensions/PyGEnumVariant.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** PyGEnumVariant.cpp 19 Nov 1999 04:03:23 -0000 1.2
--- PyGEnumVariant.cpp 13 Nov 2008 11:11:58 -0000 1.3
***************
*** 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");
|