Commit Graph

247 Commits

Author SHA1 Message Date
Thomas Heller b102ddadcb Revert rev. 79509; ctypes doesn't build on linux. 2010-03-30 20:57:06 +00:00
Thomas Heller 5006ba0fef Merged revisions 79115,79424,79491 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/branch_libffi-3_0_10-win

........
  r79115 | thomas.heller | 2010-03-19 22:14:47 +0100 (Fr, 19 Mrz 2010) | 7 lines

  Work in progress.  2 tests fail on x86/win32 because the stack
  checking code in ffi_call_win32 is not yet implemented.

  Remove most files from _ctypes/libffi_msvc, only two include files
  stay (updated from _ctypes/libffi/...).  Other files are used in the
  cross-platform _ctypes/libffi directory.
........
  r79424 | thomas.heller | 2010-03-25 19:28:02 +0100 (Do, 25 Mrz 2010) | 1 line

  Build _ctypes on Win64.
........
  r79491 | thomas.heller | 2010-03-29 21:30:33 +0200 (Mo, 29 Mrz 2010) | 4 lines

  On Windows, ctypes does no longer check the stack before and after
  calling a foreign function.
  This allows to use the unmodified libffi library.
........
2010-03-30 19:46:23 +00:00
Larry Hastings 402b73fb8d Backported PyCapsule from 3.1, and converted most uses of
CObject to PyCapsule.
2010-03-25 00:54:54 +00:00
Florent Xicluna eba2aca4bd Preserve backward compatibility of the ctypes module.
"This file should be kept compatible with Python 2.3, see PEP 291."
2010-03-22 16:36:51 +00:00
Florent Xicluna 9e7a4c9738 Issue #7703: ctypes supports both buffer() and memoryview(). The former is deprecated.
Complement of r79288.
2010-03-22 16:07:38 +00:00
Matthias Klose 67e37f2ec2 update libffi to commit 59a259f4d348f593b45f452309f4d020a28051c4 from the
trunk (adding msvc port).
2010-03-19 18:59:20 +00:00
Matthias Klose 4854c969fb Generate libffi's Makefiles again to be able to run the libffi testsuite
-- Diese und die folgenden Zeilen werden ignoriert --

M    _ctypes/libffi/configure
M    _ctypes/libffi/configure.ac
M    _ctypes/libffi/aclocal.m4
M    _ctypes/libffi.diff
2010-03-19 17:46:33 +00:00
Matthias Klose d72ca858a6 Backport from the libffi trunk:
2010-02-15  Matthias Klose  <doko@ubuntu.com>

        * src/arm/sysv.S (__ARM_ARCH__): Define for processor
        __ARM_ARCH_7EM__.
2010-03-15 00:36:18 +00:00
Matthias Klose 817acef0e6 - Issue #8142: Update libffi to the 3.0.9 release.
-- Diese und die folgenden Zeilen werden ignoriert --

M    Misc/NEWS
A    Modules/_ctypes/libffi/m4
A    Modules/_ctypes/libffi/m4/ltsugar.m4
A    Modules/_ctypes/libffi/m4/libtool.m4
A    Modules/_ctypes/libffi/m4/ltversion.m4
A    Modules/_ctypes/libffi/m4/lt~obsolete.m4
A    Modules/_ctypes/libffi/m4/ltoptions.m4
A    Modules/_ctypes/libffi/ChangeLog.libffi
M    Modules/_ctypes/libffi/configure
M    Modules/_ctypes/libffi/Makefile.in
M    Modules/_ctypes/libffi/fficonfig.h.in
M    Modules/_ctypes/libffi/src/arm/sysv.S
M    Modules/_ctypes/libffi/src/powerpc/ffitarget.h
M    Modules/_ctypes/libffi/src/powerpc/aix.S
M    Modules/_ctypes/libffi/src/powerpc/ffi.c
M    Modules/_ctypes/libffi/src/powerpc/sysv.S
M    Modules/_ctypes/libffi/src/powerpc/ffi_darwin.c
M    Modules/_ctypes/libffi/src/powerpc/aix_closure.S
A    Modules/_ctypes/libffi/src/closures.c
D    Modules/_ctypes/libffi/src/darwin/ffitarget.h
M    Modules/_ctypes/libffi/src/sh64/ffi.c
M    Modules/_ctypes/libffi/src/sh64/sysv.S
M    Modules/_ctypes/libffi/src/x86/ffi64.c
M    Modules/_ctypes/libffi/src/x86/ffitarget.h
M    Modules/_ctypes/libffi/src/x86/win32.S
M    Modules/_ctypes/libffi/src/x86/darwin.S
M    Modules/_ctypes/libffi/src/x86/ffi.c
M    Modules/_ctypes/libffi/src/x86/sysv.S
A    Modules/_ctypes/libffi/src/x86/win64.S
M    Modules/_ctypes/libffi/src/x86/unix64.S
A    Modules/_ctypes/libffi/src/types.c
A    Modules/_ctypes/libffi/src/avr32
A    Modules/_ctypes/libffi/src/avr32/ffitarget.h
A    Modules/_ctypes/libffi/src/avr32/ffi.c
A    Modules/_ctypes/libffi/src/avr32/sysv.S
M    Modules/_ctypes/libffi/src/frv/ffi.c
M    Modules/_ctypes/libffi/src/s390/sysv.S
M    Modules/_ctypes/libffi/src/pa/ffi.c
A    Modules/_ctypes/libffi/src/raw_api.c
A    Modules/_ctypes/libffi/src/java_raw_api.c
A    Modules/_ctypes/libffi/src/debug.c
M    Modules/_ctypes/libffi/src/sparc/ffi.c
M    Modules/_ctypes/libffi/src/sparc/v8.S
M    Modules/_ctypes/libffi/src/mips/ffitarget.h
M    Modules/_ctypes/libffi/src/mips/n32.S
M    Modules/_ctypes/libffi/src/mips/o32.S
M    Modules/_ctypes/libffi/src/mips/ffi.c
A    Modules/_ctypes/libffi/src/dlmalloc.c
M    Modules/_ctypes/libffi/src/sh/ffi.c
M    Modules/_ctypes/libffi/src/sh/sysv.S
AM   Modules/_ctypes/libffi/depcomp
AM   Modules/_ctypes/libffi/compile
M    Modules/_ctypes/libffi/config.guess
AM   Modules/_ctypes/libffi/ltmain.sh
M    Modules/_ctypes/libffi/config.sub
AM   Modules/_ctypes/libffi/mdate-sh
M    Modules/_ctypes/libffi/configure.ac
A    Modules/_ctypes/libffi/doc
A    Modules/_ctypes/libffi/doc/libffi.texi
A    Modules/_ctypes/libffi/doc/stamp-vti
A    Modules/_ctypes/libffi/doc/libffi.info
A    Modules/_ctypes/libffi/doc/version.texi
A    Modules/_ctypes/libffi/texinfo.tex
A    Modules/_ctypes/libffi/man
A    Modules/_ctypes/libffi/man/ffi_call.3
A    Modules/_ctypes/libffi/man/Makefile.in
A    Modules/_ctypes/libffi/man/ffi.3
A    Modules/_ctypes/libffi/man/Makefile.am
A    Modules/_ctypes/libffi/man/ffi_prep_cif.3
A    Modules/_ctypes/libffi/ChangeLog.libgcj
M    Modules/_ctypes/libffi/LICENSE
M    Modules/_ctypes/libffi/include/ffi.h.in
M    Modules/_ctypes/libffi/include/Makefile.in
M    Modules/_ctypes/libffi/include/ffi_common.h
M    Modules/_ctypes/libffi/include/Makefile.am
A    Modules/_ctypes/libffi/libtool-version
A    Modules/_ctypes/libffi/ChangeLog
A    Modules/_ctypes/libffi/testsuite
A    Modules/_ctypes/libffi/testsuite/Makefile.in
A    Modules/_ctypes/libffi/testsuite/libffi.call
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_multi_ushort.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/stret_medium.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_align_uint16.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_align_longdouble_split2.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/struct1.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/return_uc.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/struct3.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/nested_struct1.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/struct5.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/err_bad_abi.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/nested_struct3.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_7_1_byte.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/nested_struct5.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_double.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/struct7.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/return_sl.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/nested_struct7.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/struct9.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_sint.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/nested_struct9.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_pointer.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/many_win32.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_20byte1.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_multi_sshortchar.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/return_fl.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_align_sint64.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/many.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/strlen.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_3byte2.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/return_ldl.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/stret_large.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_multi_schar.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_multi_uchar.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_9byte1.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/err_bad_typedef.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_19byte.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_align_float.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/closure_fn1.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_align_longdouble_split.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/problem1.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/return_fl1.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/closure_fn3.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/return_dbl2.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_sshort.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/return_fl3.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/closure_fn5.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_align_double.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_2byte.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/promotion.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/nested_struct.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/float2.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/nested_struct10.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/return_ll1.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_4byte.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/float4.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_6byte.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_longdouble.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/huge_struct.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_8byte.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_multi_sshort.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_align_uint32.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_align_sint16.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_double_va.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/return_sc.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/float.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_20byte.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_float.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/struct2.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_pointer_stack.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_5_1_byte.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/struct4.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/nested_struct2.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_24byte.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/struct6.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/nested_struct4.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/closure_loc_fn0.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/struct8.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/nested_struct6.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/testclosure.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/nested_struct8.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_64byte.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/return_ul.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_uint.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_dbls_struct.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/strlen_win32.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/pyobjc-tc.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/stret_large2.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_multi_ushortchar.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/return_dbl.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_schar.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_uchar.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_align_uint64.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_align_longdouble.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_ulonglong.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_1_1byte.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/return_ll.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_3_1byte.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_12byte.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_4_1byte.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_3byte1.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/ffitest.h
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_6_1_byte.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_16byte.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_18byte.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/closure_fn0.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_9byte2.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_longdouble_va.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/return_dbl1.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/closure_fn2.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/closure_stdcall.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/return_fl2.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/stret_medium2.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/closure_fn4.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/negint.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_ushort.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/call.exp
A    Modules/_ctypes/libffi/testsuite/libffi.call/closure_fn6.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/float1.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/float3.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_5byte.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_7byte.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_align_pointer.c
A    Modules/_ctypes/libffi/testsuite/libffi.call/cls_align_sint32.c
A    Modules/_ctypes/libffi/testsuite/config
A    Modules/_ctypes/libffi/testsuite/config/default.exp
A    Modules/_ctypes/libffi/testsuite/lib
A    Modules/_ctypes/libffi/testsuite/lib/target-libpath.exp
A    Modules/_ctypes/libffi/testsuite/lib/wrapper.exp
A    Modules/_ctypes/libffi/testsuite/lib/libffi-dg.exp
A    Modules/_ctypes/libffi/testsuite/Makefile.am
A    Modules/_ctypes/libffi/testsuite/libffi.special
A    Modules/_ctypes/libffi/testsuite/libffi.special/unwindtest_ffi_call.cc
A    Modules/_ctypes/libffi/testsuite/libffi.special/unwindtest.cc
A    Modules/_ctypes/libffi/testsuite/libffi.special/special.exp
A    Modules/_ctypes/libffi/testsuite/libffi.special/ffitestcxx.h
M    Modules/_ctypes/libffi/README
A    Modules/_ctypes/libffi/libffi.pc.in
M    Modules/_ctypes/libffi/Makefile.am
M    Modules/_ctypes/libffi/missing
A    Modules/_ctypes/libffi/ChangeLog.v1
M    Modules/_ctypes/libffi/aclocal.m4
M    Modules/_ctypes/libffi.diff
2010-03-15 00:02:36 +00:00
Thomas Heller 92bd059c67 ctypes CThunkObject was not registered correctly with the cycle
garbage collector, leading to possible leaks when using callback
functions.
2010-02-23 20:11:44 +00:00
Antoine Pitrou 8c510e704e Issue #7661: Allow ctypes to be built from a non-ASCII directory path.
Patch by Florent Xicluna.
2010-01-13 11:47:49 +00:00
Georg Brandl e363b1434d Fix refleaks in _ctypes PyCSimpleType_New, which fixes the refleak seen in test___all__. 2009-10-17 08:57:43 +00:00
Ronald Oussoren 16766d7cd6 Merge a newer version of libffi_osx, based on the
version of libffi in OSX 10.6.1.

This fixes issue6918
2009-09-20 18:54:16 +00:00
Thomas Heller d25fb2ff1f Remove unused variable and static function to fix compiler warnings. 2009-09-19 10:04:54 +00:00
Thomas Heller 6be522bfc2 Issue #4606: Passing 'None' if ctypes argtype is set to POINTER(...)
does now always result in NULL.
2009-09-18 20:05:44 +00:00
Thomas Heller 7a352c0ed8 Issue #5042: Structure sub-subclass does now initialize correctly with
base class positional arguments.
2009-09-18 18:55:17 +00:00
Thomas Heller 81809a42c1 Make ctypes compile again with older Python versions. 2009-09-08 19:24:36 +00:00
Thomas Heller d8431ae3bd Revert rev 74134, as it does not completely fixx issue #6493. 2009-07-21 19:04:02 +00:00
Thomas Heller 6adda9641d Issue #6493: Fix a ctypes problem setting bitfields more than 31 bits
wide.
2009-07-21 06:27:14 +00:00
Mark Dickinson cf4ad76a0a typos in ctypes Module 2009-05-20 17:55:31 +00:00
Jeffrey Yasskin 1aa4700234 PyCode_NewEmpty:
Most uses of PyCode_New found by http://www.google.com/codesearch?q=PyCode_New
are trying to build an empty code object, usually to put it in a dummy frame
object. This patch adds a PyCode_NewEmpty wrapper which lets the user specify
just the filename, function name, and first line number, instead of also
requiring lots of code internals.
2009-05-08 21:51:06 +00:00
Thomas Heller fd1ee7a8a0 Add a file that contains diffs between offical libffi files and the
files in this repository.  Should make it easier to merge new libffi
versions.
2009-05-08 20:09:40 +00:00
Mark Dickinson 929ab93489 Issue #5933: Fix some gcc -Wextra warnings. Thanks Victor Stinner for
the patch.
2009-05-05 17:41:47 +00:00
Thomas Heller 90c61a2e09 Issue #4305: ctypes fails to build on mipsel-linux-gnu (detects mips
instead of mipsel)
2009-04-28 19:23:41 +00:00
Thomas Heller e09f161618 Issue #5078: Avoid redundant call to FormatError() 2009-04-25 16:37:18 +00:00
Thomas Heller 5c6af808f7 Issue #3102: All global symbols that the _ctypes extension defines are
now prefixed with 'Py' or '_ctypes'.
2009-04-24 20:31:47 +00:00
Thomas Heller ec21ccde12 Issue 5041: ctypes unwilling to allow pickling wide character. 2009-04-24 20:00:41 +00:00
Thomas Heller 2d69358802 Remove duplicated function declaration.
Make _pagesize static.
2009-04-16 06:42:02 +00:00
Thomas Heller 4954ffd98d Remove unneeded code. 2009-04-16 06:26:33 +00:00
Mark Dickinson 3e4caeb3bf Issue #5341: Fix a variety of spelling errors. 2009-02-21 20:27:01 +00:00
Georg Brandl 2c07929770 Fix warnings GCC emits where the argument of PyErr_Format is a single variable. 2009-02-13 11:10:04 +00:00
Thomas Heller 3689ae256e Issue#5203: ctypes segfaults when passing a unicode string to a
function without argtypes, if HAVE_USABLE_WCHAR_T is false.
2009-02-10 18:43:01 +00:00
Thomas Heller 7757d7bb51 This refactoring should make it easier to add new calling conventions.
Replace ffi_call_STDCALL and ffi_call_SYSV by a ffi_call_x86 function
that cleans up the stack when FFI_SYSV is used, and does nothing for
FFI_STDCALL.

Remove libffi_msvc\win32.S, which is out of date and also unused; it
was only used for building ctypes with the MingW compiler.
2009-02-03 17:07:40 +00:00
Amaury Forgeot d'Arc 59ce042766 #4077: No need to append \n when calling Py_FatalError
+ fix a declaration to make it match the one in pythonrun.h
2009-01-17 20:18:59 +00:00
Thomas Heller 3a6a0431d0 Fix refcount leak in error cases. Bug found by coverity. 2009-01-13 17:32:28 +00:00
Christian Heimes dee3c9c606 Issue #4025 again
Converted a C99 style comment to a C89 style comment (found by MAL).
2008-12-03 00:53:18 +00:00
Christian Heimes 32a66a0410 Fixed a couple more C99 comments and one occurence of inline. 2008-10-02 19:47:50 +00:00
Thomas Heller e144873071 Fix issue #3547 for MingW, update comments. 2008-09-29 19:56:24 +00:00
Thomas Heller a85c95d5e8 Fix issue #3547: ctypes is confused by bitfields of varying integer types
Reviewed by Fredrik Lundh and Skip Montanaro.
2008-09-24 18:26:05 +00:00
Neal Norwitz 18aa388ca0 Fix:
* crashes on memory allocation failure found with failmalloc
 * memory leaks found with valgrind
 * compiler warnings in opt mode which would lead to invalid memory reads
 * problem using wrong name in decimal module reported by pychecker

Update the valgrind suppressions file with new leaks that are small/one-time
leaks we don't care about (ie, they are too hard to fix).

TBR=barry
TESTED=./python -E -tt ./Lib/test/regrtest.py -uall (both debug and opt modes)
  in opt mode:
  valgrind -q --leak-check=yes --suppressions=Misc/valgrind-python.supp \
    ./python -E -tt ./Lib/test/regrtest.py -uall,-bsddb,-compiler \
                        -x test_logging test_ssl test_multiprocessing
  valgrind -q --leak-check=yes --suppressions=Misc/valgrind-python.supp \
    ./python -E -tt ./Lib/test/regrtest.py test_multiprocessing
  for i in `seq 1 4000` ; do
    LD_PRELOAD=~/local/lib/libfailmalloc.so FAILMALLOC_INTERVAL=$i \
        ./python -c pass
  done

At least some of these fixes should probably be backported to 2.5.
2008-08-24 05:04:52 +00:00
Thomas Heller d9ccf8c547 COM method code is windows specific 2008-08-19 19:40:23 +00:00
Thomas Heller 0ad5ae02af Fix a regression introduced by rev. 63792: ctypes function pointers
that are COM methods must have a boolean True value.
2008-08-19 19:25:04 +00:00
Martin v. Löwis 8401eec7fa Properly INCREF reference in Py_buffer. 2008-08-14 15:56:07 +00:00
Thomas Heller ba55936b8a Make ctypes compatible with Python 2.3, 2.4, and 2.5 again. 2008-07-24 11:16:45 +00:00
Thomas Heller 880f529c04 Issue #3313: Contrary to the man page, a failed dlopen() call does not
always set a dlerror() message.
2008-07-15 19:39:38 +00:00
Thomas Heller c0b2a807ff Issue #3258: Fix an assertion error (in debug build) and a crash (in
release build) when the format string of a pointer to an incomplete
structure is created.
2008-07-15 17:03:08 +00:00
Neal Norwitz e9ee44c25b Check for memory alloc failure 2008-06-13 06:00:46 +00:00
Thomas Heller dcea9a91c6 Add an optional 'offset' parameter to byref, defaultingto zero. 2008-06-10 14:02:46 +00:00
Gregory P. Smith dd96db63f6 This reverts r63675 based on the discussion in this thread:
http://mail.python.org/pipermail/python-dev/2008-June/079988.html

Python 2.6 should stick with PyString_* in its codebase.  The PyBytes_* names
in the spirit of 3.0 are available via a #define only.  See the email thread.
2008-06-09 04:58:54 +00:00
Travis E. Oliphant 0144f27602 Remove locking part of new buffer protocol. 2008-06-06 22:39:47 +00:00