Update of /cvsroot/pywin32/pywin32/win32/src
In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv4460/win32/src
Modified Files:
Tag: py3k
PyLARGE_INTEGER.cpp PyWAVEFORMATEX.cpp win32evtlog.i
win32gui.i win32trace.cpp
Log Message:
merge lots of changes from the trunk
Index: PyLARGE_INTEGER.cpp
===================================================================
RCS file: /cvsroot/pywin32/pywin32/win32/src/PyLARGE_INTEGER.cpp,v
retrieving revision 1.12.2.2
retrieving revision 1.12.2.3
diff -C2 -d -r1.12.2.2 -r1.12.2.3
*** PyLARGE_INTEGER.cpp 11 Dec 2008 04:13:35 -0000 1.12.2.2
--- PyLARGE_INTEGER.cpp 14 Jan 2009 12:42:03 -0000 1.12.2.3
***************
*** 48,51 ****
--- 48,53 ----
BOOL PyWinObject_AsULARGE_INTEGER(PyObject *ob, ULARGE_INTEGER *pResult)
{
+ #if (PY_VERSION_HEX < 0x03000000)
+ // py2k - ints and longs are different, and we assume 'int' is 32bits.
if (PyInt_Check(ob)) {
// 32 bit integer value.
***************
*** 57,74 ****
ULISet32(*pResult, x);
return TRUE;
! } else if (PyLong_Check(ob)) {
pResult->QuadPart=PyLong_AsUnsignedLongLong(ob);
return !(pResult->QuadPart == (ULONGLONG) -1 && PyErr_Occurred());
- } else {
- PyErr_Warn(PyExc_PendingDeprecationWarning, "Support for passing 2 integers to create a 64bit value is deprecated - pass a long instead");
- long hiVal, loVal;
- if (!PyArg_ParseTuple(ob, "ll", &hiVal, &loVal)) {
- PyErr_SetString(PyExc_TypeError, "ULARGE_INTEGER must be 'int', or '(int, int)'");
- return FALSE;
- }
- pResult->QuadPart = (((__int64)hiVal) << 32) | loVal;
- return TRUE;
}
! assert(0); // not reached.
}
--- 59,76 ----
ULISet32(*pResult, x);
return TRUE;
! }
! #endif // py2k
! if (PyLong_Check(ob)) {
pResult->QuadPart=PyLong_AsUnsignedLongLong(ob);
return !(pResult->QuadPart == (ULONGLONG) -1 && PyErr_Occurred());
}
! long hiVal, loVal;
! if (!PyArg_ParseTuple(ob, "ll", &hiVal, &loVal)) {
! PyErr_SetString(PyExc_TypeError, "ULARGE_INTEGER must be 'int', or '(int, int)'");
! return FALSE;
! }
! PyErr_Warn(PyExc_PendingDeprecationWarning, "Support for passing 2 integers to create a 64bit value is deprecated - pass a long instead");
! pResult->QuadPart = (((__int64)hiVal) << 32) | loVal;
! return TRUE;
}
Index: PyWAVEFORMATEX.cpp
===================================================================
RCS file: /cvsroot/pywin32/pywin32/win32/src/PyWAVEFORMATEX.cpp,v
retrieving revision 1.2.4.1
retrieving revision 1.2.4.2
diff -C2 -d -r1.2.4.1 -r1.2.4.2
*** PyWAVEFORMATEX.cpp 29 Aug 2008 04:59:25 -0000 1.2.4.1
--- PyWAVEFORMATEX.cpp 14 Jan 2009 12:42:03 -0000 1.2.4.2
***************
*** 2,6 ****
// @doc
- #include "Python.h"
#include "PyWinTypes.h"
#include "PyWinObjects.h"
--- 2,5 ----
Index: win32trace.cpp
===================================================================
RCS file: /cvsroot/pywin32/pywin32/win32/src/win32trace.cpp,v
retrieving revision 1.14.2.4
retrieving revision 1.14.2.5
diff -C2 -d -r1.14.2.4 -r1.14.2.5
*** win32trace.cpp 3 Jan 2009 23:46:35 -0000 1.14.2.4
--- win32trace.cpp 14 Jan 2009 12:42:03 -0000 1.14.2.5
***************
*** 651,655 ****
0, BUFFER_SIZE,
FixupObjectName(MAP_OBJECT_NAME));
! use_global_namespace = h2 != NULL && GetLastError() == ERROR_ACCESS_DENIED;
if (h2)
CloseHandle(h2);
--- 651,655 ----
0, BUFFER_SIZE,
FixupObjectName(MAP_OBJECT_NAME));
! use_global_namespace = h2 != NULL;
if (h2)
CloseHandle(h2);
Index: win32evtlog.i
===================================================================
RCS file: /cvsroot/pywin32/pywin32/win32/src/win32evtlog.i,v
retrieving revision 1.6.2.2
retrieving revision 1.6.2.3
diff -C2 -d -r1.6.2.2 -r1.6.2.3
*** win32evtlog.i 1 Oct 2008 03:55:51 -0000 1.6.2.2
--- win32evtlog.i 14 Jan 2009 12:42:03 -0000 1.6.2.3
***************
*** 141,146 ****
}
! TimeGenerated = PyWinTimeObject_FromLong(pEvt->TimeGenerated);
! TimeWritten = PyWinTimeObject_FromLong(pEvt->TimeWritten);
if (pEvt->UserSidLength==0) {
--- 141,146 ----
}
! TimeGenerated = PyWinTimeObject_Fromtime_t((time_t)pEvt->TimeGenerated);
! TimeWritten = PyWinTimeObject_Fromtime_t((time_t)pEvt->TimeWritten);
if (pEvt->UserSidLength==0) {
Index: win32gui.i
===================================================================
RCS file: /cvsroot/pywin32/pywin32/win32/src/win32gui.i,v
retrieving revision 1.118.2.4
retrieving revision 1.118.2.5
diff -C2 -d -r1.118.2.4 -r1.118.2.5
*** win32gui.i 11 Dec 2008 04:13:35 -0000 1.118.2.4
--- win32gui.i 14 Jan 2009 12:42:03 -0000 1.118.2.5
***************
*** 273,276 ****
--- 273,284 ----
#endif
+ PyDict_SetItemString(d, "UNICODE",
+ #ifdef UNICODE
+ Py_True
+ #else
+ Py_False
+ #endif
+ );
+
// hack borrowed from win32security since version of SWIG we use doesn't do keyword arguments
#ifdef WINXPGUI
***************
*** 1584,1591 ****
%{
! // @pyswig bytes|PyGetString|Returns bytes from an address.
static PyObject *PyGetString(PyObject *self, PyObject *args)
{
! char *addr = 0;
size_t len = -1;
#ifdef _WIN64
--- 1592,1600 ----
%{
! // @pyswig string|PyGetString|Returns a string from an address.
! // @rdesc If win32gui.UNICODE is True, this will return a unicode object.
static PyObject *PyGetString(PyObject *self, PyObject *args)
{
! TCHAR *addr = 0;
size_t len = -1;
#ifdef _WIN64
***************
*** 1608,1619 ****
return NULL;
}
! return PyString_FromStringAndSize(addr, len);
}
// This should probably be in a __try just in case.
! if (IsBadStringPtrA(addr, (DWORD_PTR)-1)) {
PyErr_SetString(PyExc_ValueError, "The value is not a valid null-terminated string");
return NULL;
}
! return PyString_FromString(addr);
}
%}
--- 1617,1628 ----
return NULL;
}
! return PyWinObject_FromTCHAR(addr, len);
}
// This should probably be in a __try just in case.
! if (IsBadStringPtr(addr, (DWORD_PTR)-1)) {
PyErr_SetString(PyExc_ValueError, "The value is not a valid null-terminated string");
return NULL;
}
! return PyWinObject_FromTCHAR(addr);
}
%}
|