Commit graph

4481 commits

Author SHA1 Message Date
Thomas Heller
5ca924038d Invert the checks in get_[u]long and get_[u]longlong. The intent was
to not accept float types; the result was that integer-like objects
were not accepted.

Ported from release25-maint.
2008-01-24 19:15:02 +00:00
Thomas Heller
71dba4ccee Replace Py_BuildValue with PyTuple_Pack because it is faster.
Also add a missing DECREF.
2008-01-24 18:54:12 +00:00
Thomas Heller
e4c03e4520 Use a PyDictObject again for the array type cache; retrieving items
from the WeakValueDictionary was slower by nearly a factor of 3.

To avoid leaks, weakref proxies for the array types are put into the
cache dict, with weakref callbacks that removes the entries when the
type goes away.
2008-01-24 18:36:27 +00:00
Guido van Rossum
6f4ee2d48f Fix misleading comment reported in issue #1917. 2008-01-23 22:43:27 +00:00
Armin Rigo
964ca4274f patch 1754489 by vlahan:
improve portability of address length calculation for AF_UNIX sockets
2008-01-23 14:07:13 +00:00
Christian Heimes
501dbbfb70 Use Py_TYPE() instead of ->ob_type 2008-01-23 14:00:25 +00:00
Georg Brandl
d02fc48f67 Fix for #1087741 patch. 2008-01-22 19:56:03 +00:00
Georg Brandl
c09b94e063 Reformat some ugly code. 2008-01-21 21:28:32 +00:00
Georg Brandl
32a3fb5ec9 Patch #1720595: add T_BOOL to the range of structmember types.
Patch by Angelo Mottola, reviewed by MvL, tests by me.
2008-01-21 21:23:15 +00:00
Georg Brandl
845c403c08 #1087741: make mmap.mmap the type of mmap objects, not a
factory function. Allow it to be subclassed.
2008-01-21 14:16:46 +00:00
Georg Brandl
ef92802f73 Switch mmap from old Py_FindMethod to new PyObject_GenericGetAttr attribute access.
Fixes #1087735.
2008-01-20 14:50:05 +00:00
Georg Brandl
f558d2e5f5 #1509: fix sqlite3 docstrings and docs w.r.t. cursor.fetchXXX methods. 2008-01-19 20:53:07 +00:00
Andrew M. Kuchling
060e6855a8 Patch #1019808 from Federico Schwindt: Return correct socket error when
a default timeout has been set, by using getsockopt() to get the error
condition (instead of trying another connect() call, which seems to be
a Linuxism).

2.5 bugfix candidate, assuming no one reports any problems with this change.
2008-01-19 20:47:59 +00:00
Georg Brandl
309501a617 #1663329: add os.closerange() to close a range of fds,
ignoring errors, and use this in subprocess to speed up
subprocess creation in close_fds mode. Patch by Mike Klaas.
2008-01-19 20:22:13 +00:00
Andrew M. Kuchling
5c60bfcfbf Patch #976880: add mmap .rfind() method, and 'end' paramter to .find().
Contributed by John Lenton.
2008-01-19 18:18:41 +00:00
Christian Heimes
4956d2b889 Silence Coverity false alerts with CIDs #172, #183, #184 2008-01-18 19:12:56 +00:00
Christian Heimes
5cc3f26c48 Coverity CID #168
leaked_storage: Returned without freeing storage "fp"
2008-01-18 08:53:45 +00:00
Christian Heimes
87dcf3d260 Coverity issue CID #182
size_error: Allocating 1 bytes to pointer "children", which needs at least 4 bytes
2008-01-18 08:04:57 +00:00
Christian Heimes
62a8e95fea Coverity issue CID #197
var_decl: Declared variable "stm" without initializer
ninit_use_in_call: Using uninitialized value "stm" (field "stm".tm_zone uninitialized) in call to function "mktime"
2008-01-18 07:30:20 +00:00
Raymond Hettinger
18e08e5e61 clearcache() needs to remove the dict as well as clear it. 2008-01-18 00:10:42 +00:00
Brett Cannon
a35a8b11c3 Fix a function pointer declaration to silence the compiler. 2008-01-17 18:45:10 +00:00
Raymond Hettinger
473170908e Make starmap() match its pure python definition and accept any itertable input (not just tuples). 2008-01-17 03:02:14 +00:00
Thomas Heller
0f75f9847a Use 'g' instead of 'D' as the ctypes typecode for c_longdouble, for
compliance with PEP 3118.
2008-01-16 20:34:37 +00:00
Thomas Heller
415c1e36a9 Raise a TypeError instead of a ValueError when too many initializers
are used in a Structure or Union constructor.
2008-01-16 19:45:51 +00:00
Thomas Heller
02ec289f3e Raise a TypeError if conflicting positional and named arguments are
passed to a Structure or Union constructor.
2008-01-16 19:37:33 +00:00
Thomas Heller
902d30752f Convert the internal ctypes array type cache to a WeakValueDict so
that array types do not live longer than needed.
2008-01-16 19:16:27 +00:00
Thomas Heller
7a66a1becc Issue 1821: configure libffi for amd64 on FreeeBSD. 2008-01-14 10:35:28 +00:00
Amaury Forgeot d'Arc
7cdf5f5c31 ?Why did my tests not notice this before?
Slots inheritance is very different from OO inheritance.
This code lead to infinite recursion on classes derived from StructType.
2008-01-14 01:07:27 +00:00
Amaury Forgeot d'Arc
08ccf202e6 As discussed in issue 1700288:
ctypes takes some liberties when creating python types: it modifies the types'
__dict__ directly, bypassing all the machinery of type objects which deal with
special methods.  And this broke recent optimisations of method lookup.
Now we try to modify the type with more "official" functions.
2008-01-14 00:22:44 +00:00
Thomas Heller
5f0b7ae481 Make Modules/socketobject.c compile for Windows again. 2008-01-13 11:19:43 +00:00
Thomas Heller
43617bc610 Fix a potential 'SystemError: NULL result without error'.
NULL may be a valid return value from PyLong_AsVoidPtr.

Will backport to release25-maint.
2008-01-11 20:29:19 +00:00
Thomas Heller
c682614df0 Raise an error instead of crashing with a segfault when a NULL
function pointer is called.

Will backport to release25-maint.
2008-01-11 19:34:06 +00:00
Christian Heimes
0f973934f4 Removed unused variable 2008-01-11 15:42:29 +00:00
Georg Brandl
ff15c866a6 Guard definition of TIPC_SUB_CANCEL with an #ifdef. 2008-01-11 09:19:11 +00:00
Raymond Hettinger
a7d984e838 Comment-out missing constant (from rev 59819) 2008-01-11 02:12:33 +00:00
Andrew M. Kuchling
7c22ccc3dd Check for fd of -1 to save fsync() and fstat() call 2008-01-10 13:37:12 +00:00
Andrew M. Kuchling
3eb4aa733a Related to patch #1114: fix another place where attr_t is assumed to be a long 2008-01-09 12:27:41 +00:00
Facundo Batista
4473d225a8 Issue 846388. Adds a call to PyErr_CheckSignals to
SRE_MATCH so that signal handlers can be invoked during
long regular expression matches.  It also adds a new
error return value indicating that an exception
occurred in a signal handler during the match, allowing
exceptions in the signal handler to propagate up to the
main loop.  Thanks Josh Hoyt and Ralf Schmitt.
2008-01-08 21:10:12 +00:00
Thomas Heller
41f278ffa5 Use relative instead of absolute filenames in the C-level tracebacks.
This prevents traceback prints pointing to files in this way:

  File "\loewis\25\python\Modules\_ctypes\callbacks.c", line 206, in 'calling callback function'
2008-01-08 15:15:09 +00:00
Andrew M. Kuchling
62182c8b72 Patch 1114: fix compilation of curses module on 64-bit AIX, and any other LP64 platforms where attr_t isn't a C long 2008-01-08 14:56:02 +00:00
Andrew M. Kuchling
e0a49b6e05 Patch 1137: allow assigning to .buffer_size attribute of PyExpat.parser objects 2008-01-08 14:30:55 +00:00
Georg Brandl
aed6c66aa8 patch #1668: clarify envvar docs; rename THREADDEBUG to PYTHONTHREADDEBUG. 2008-01-07 17:25:53 +00:00
Georg Brandl
2da0fceba7 Patch #602345 by Neal Norwitz and me: add -B option and PYTHONDONTWRITEBYTECODE envvar to skip writing bytecode. 2008-01-07 17:09:35 +00:00
Christian Heimes
fb2d25a154 Issue #1646: Make socket support TIPC. The socket module now has support
for TIPC under Linux, see http://tipc.sf.net/ for more information.
Thanks to Alberto Bertogli for the patch
2008-01-07 16:12:44 +00:00
Georg Brandl
f725b9587c Doc patch #1730 from Robin Stocker; minor corrections mostly to os.rst. 2008-01-05 19:44:22 +00:00
Jeffrey Yasskin
9871d8fe22 Continue rolling back pep-3141 changes that changed behavior from 2.5. This
round included:
 * Revert round to its 2.6 behavior (half away from 0).
 * Because round, floor, and ceil always return float again, it's no
   longer necessary to have them delegate to __xxx___, so I've ripped
   that out of their implementations and the Real ABC. This also helps
   in implementing types that work in both 2.6 and 3.0: you return int
   from the __xxx__ methods, and let it get enabled by the version
   upgrade.
 * Make pow(-1, .5) raise a ValueError again.
2008-01-05 08:47:13 +00:00
Christian Heimes
04ae916fa2 Added interface to Windows' WSAIoctl and a simple example for a network sniffer. 2008-01-04 15:23:30 +00:00
Christian Heimes
76d19f68e4 Added _struct._clearcache() for regression tests 2008-01-04 02:54:42 +00:00
Christian Heimes
66ecda4990 Fixed math.copysign() on Windows 2008-01-04 01:48:50 +00:00
Raymond Hettinger
2f6621cce7 Finish-up the struct module optimizations started at the Iceland NFS sprint. 2008-01-04 00:01:15 +00:00