Xiang Zhang
982a17e02d
bpo-30242: resolve some undefined behaviours in struct ( #1418 ) ( #1588 )
2017-05-15 13:17:54 +08:00
Serhiy Storchaka
bc62af1bbe
Issue #22570 : Renamed Py_SETREF to Py_XSETREF.
2016-04-06 09:51:18 +03:00
Serhiy Storchaka
8688acaf2e
Issue #20440 : Applied yet one patch for using Py_SETREF.
...
The patch is automatically generated, it replaces the code that uses Py_CLEAR.
2015-12-27 12:38:48 +02:00
Serhiy Storchaka
c06a6d0958
Issue #25421 : __sizeof__ methods of builtin types now use dynamic basic size.
...
This allows sys.getsize() to work correctly with their subclasses with
__slots__ defined.
2015-12-19 20:07:48 +02:00
Serhiy Storchaka
b8285d96f4
Issue #22113 : struct.pack_into() now supports new buffer protocol (in
...
particular accepts writable memoryview).
2015-02-21 19:51:17 +02:00
Serhiy Storchaka
5493d5ea2a
Issue #19099 : The struct module now supports Unicode format strings.
2013-12-08 17:44:50 +02:00
Kristján Valur Jónsson
9795ca44fb
Issue #10212 : Support new buffer interface for struct.unpack and
...
cStringIO
2013-03-19 17:17:47 -07:00
Petri Lehtinen
5c89c19eae
#14897 : Enhance error messages of struct.pack and struct.pack_into
...
Patch by Matti Mäki.
2012-10-29 21:20:19 +02:00
Meador Inge
6812346808
Issue #15402 : Simplify Struct.__sizeof__ and make tests more precise.
2012-07-28 21:58:44 -05:00
Meador Inge
87c5b94c39
Issue #15402 : Add a __sizeof__ method to struct.Struct.
...
Initial patch by Serhiy Storchaka.
2012-07-23 09:27:00 -05:00
Ezio Melotti
24b07bcba3
#11515 : fix several typos. Patch by Piotr Kasprzyk.
2011-03-15 18:55:01 +02:00
Mark Dickinson
96527c3b59
Merged revisions 83239 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r83239 | mark.dickinson | 2010-07-29 22:41:59 +0100 (Thu, 29 Jul 2010) | 2 lines
Issue #9422 : Fix memory leak when re-initializing a struct.Struct object.
........
2010-07-29 21:44:47 +00:00
Mark Dickinson
cac0b83b35
Merged revisions 82941,82943 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r82941 | mark.dickinson | 2010-07-18 08:29:02 +0100 (Sun, 18 Jul 2010) | 3 lines
Issue #9277 : Struct module: standard bool packing was incorrect if
char is unsigned. Thanks Stefan Krah for the patch.
........
r82943 | mark.dickinson | 2010-07-18 08:48:20 +0100 (Sun, 18 Jul 2010) | 1 line
Misc/NEWS entry for r82941.
........
2010-07-18 07:55:55 +00:00
Benjamin Peterson
489113fd5f
Merged revisions 82628,82630 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r82628 | benjamin.peterson | 2010-07-07 13:44:05 -0500 (Wed, 07 Jul 2010) | 1 line
this needn't be in the loop
........
r82630 | benjamin.peterson | 2010-07-07 13:54:59 -0500 (Wed, 07 Jul 2010) | 1 line
don't ignore exceptions from PyObject_IsTrue
........
2010-07-07 19:03:36 +00:00
Mark Dickinson
40228912c8
Fix possible undefined behaviour from signed overflow in struct module.
...
Backport of revisions 81897, 81898 and 81902 from py3k.
2010-06-11 20:27:05 +00:00
Antoine Pitrou
c83ea137d7
Untabify C files. Will watch buildbots.
2010-05-09 14:46:46 +00:00
Mark Dickinson
4f185228b0
A handful of whitespace fixes in Modules/_struct.c.
2010-04-04 21:19:35 +00:00
Mark Dickinson
fdaaa9c9d8
Issue #8300 (__index__ handling in struct.pack): Remove redundant check
...
and improve test coverage. Thanks Meador Inge for the patch.
2010-04-04 08:43:04 +00:00
Mark Dickinson
4846a8e828
Issue #8300 : Let struct.pack use __index__ to convert and pack non-integers.
...
Based on a patch by Meador Inge.
2010-04-03 14:05:10 +00:00
Mark Dickinson
2db56878f6
Silence compiler warning.
2010-03-07 17:10:19 +00:00
Mark Dickinson
154b7ad07e
Issue #1530559 : When packing a non-integer with any integer conversion
...
code using struct.pack, attempt to convert to an integer first using
the argument's __int__ method (if present). Also raise a
DeprecationWarning for any such usage of __int__.
This fixes a regression from 2.6, where some (but not all) integer
conversion codes already used __int__.
2010-03-07 16:24:45 +00:00
Mark Dickinson
20d7f6e8f4
Remove the redundant #define: PY_STRUCT_FLOAT_COERCE
2010-03-05 14:50:22 +00:00
Mark Dickinson
1c0c78c61f
Fix incorrect stacklevel for DeprecationWarnings originating from the struct module.
...
Also clean up related tests in test_struct.
The stacklevel fix should be backported to 2.6 once that branch is unfrozen.
2010-03-05 14:36:20 +00:00
Mark Dickinson
3d830828de
Issue #7078 : _struct.__doc__ was being ignored. Import it into struct.
...
Also add description of '?' struct format character. Thanks Gabriel
Genellina for the patch.
2009-10-08 15:54:10 +00:00
Mark Dickinson
716a9ccd3d
Eliminate unnecessary get_wrapped_(u)long defines in struct module.
2009-09-27 16:39:28 +00:00
Mark Dickinson
5fd3af24a2
Issue #1523 : Remove deprecated overflow masking in struct module, and
...
make sure that out-of-range values consistently raise struct.error.
2009-07-07 15:08:28 +00:00
Mark Dickinson
24766ba6af
Typo in error message
2009-07-07 10:18:22 +00:00
Mark Dickinson
463dc4bf26
Issues #1530559 , #1741130 : Fix various inconsistencies in struct.pack
...
integer packing, and reenable some previously broken tests.
2009-07-05 10:01:24 +00:00
Jeffrey Yasskin
7937d939b1
Fix nearly all compilation warnings under Apple gcc-4.0. Tested with OPT="-g
...
-Wall -Wstrict-prototypes -Werror" in both --with-pydebug mode and --without.
There's still a batch of non-prototype warnings in Xlib.h that I don't know how
to fix.
2009-05-29 03:44:31 +00:00
Georg Brandl
6269fec171
#4228 : Pack negative values the same way as 2.4
...
in struct's L format.
2009-01-01 12:15:31 +00:00
Benjamin Peterson
0225248033
Victor Stinner's patches to check the return result of PyLong_Ssize_t
...
reviewed by Amaury
2008-09-30 02:11:07 +00:00
Gregory P. Smith
9d53457e59
Merge in release25-maint r60793:
...
Added checks for integer overflows, contributed by Google. Some are
only available if asserts are left in the code, in cases where they
can't be triggered from Python code.
2008-06-11 07:41:16 +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
Christian Heimes
593daf545b
Renamed PyString to PyBytes
2008-05-26 12:51:38 +00:00
Thomas Heller
f3c0559b5e
Issue 1872: Changed the struct module typecode from 't' to '?', for
...
compatibility with PEP3118.
2008-03-05 15:34:29 +00:00
Amaury Forgeot d'Arc
588ff93f13
Crashers of the day: Py_CLEAR must be used when there is a chance that the
...
function can be called recursively.
This was discussed in issue1020188.
In python codebase, all occurrences of Py_[X]DECREF(xxx->yyy) are suspect,
except when they appear in tp_new or tp_dealloc functions, or when
the member cannot be of a user-defined class.
Note that tp_init is not safe.
I do have a (crashing) example for every changed line.
Is it worth adding them to the test suite?
Example:
class SpecialStr(str):
def __del__(self):
s.close()
import cStringIO
s = cStringIO.StringIO(SpecialStr("text"))
s.close() # Segfault
2008-02-16 14:34:57 +00:00
Raymond Hettinger
18e08e5e61
clearcache() needs to remove the dict as well as clear it.
2008-01-18 00:10:42 +00:00
Christian Heimes
76d19f68e4
Added _struct._clearcache() for regression tests
2008-01-04 02:54:42 +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
Christian Heimes
e93237dfcc
#1629 : Renamed Py_Size, Py_Type and Py_Refcnt to Py_SIZE, Py_TYPE and Py_REFCNT. Macros for b/w compatibility are available.
2007-12-19 02:37:44 +00:00
Martin v. Löwis
6819210b9e
PEP 3123: Provide forward compatibility with Python 3.0, while keeping
...
backwards compatibility. Add Py_Refcnt, Py_Type, Py_Size, and
PyVarObject_HEAD_INIT.
2007-07-21 06:55:02 +00:00
Neal Norwitz
a84dcd7546
Stop using METH_OLDARGS implicitly
2007-05-22 07:16:44 +00:00
Kristján Valur Jónsson
67387fb4aa
Make pythoncore compile cleanly with VisualStudio 2005. Used an explicit typecast to get a 64 bit integer, and undefined the Yield macro that conflicts with winbase.h
2007-04-25 00:17:39 +00:00
Raymond Hettinger
7a3d41f4ca
Bug #1563759 : struct.unpack doens't support buffer protocol objects
2007-04-05 18:00:03 +00:00
Martin v. Löwis
aef4c6bc00
Patch #1610575 : Add support for _Bool to struct.
2007-01-21 09:33:07 +00:00
Bob Ippolito
e6c9f982a0
Fix #1530559 , struct.pack raises TypeError where it used to convert.
...
Passing float arguments to struct.pack when integers are expected
now triggers a DeprecationWarning.
2006-08-04 23:59:21 +00:00
Neal Norwitz
07aadb14f3
Add PyErr_WarnEx() so C code can pass the stacklevel to warnings.warn().
...
This provides the proper warning for struct.pack().
PyErr_Warn() is now deprecated in favor of PyErr_WarnEx().
As mentioned by Tim Peters on python-dev.
2006-07-30 06:55:48 +00:00
Neal Norwitz
3c5431e132
Wrap some long lines
...
Top/Bottom factor out some common expressions
Add a XXX comment about widing offset.
2006-06-11 05:45:25 +00:00
Tim Peters
5ec2e85d0c
s_methods[]: Stop compiler warnings by casting
...
s_unpack_from to PyCFunction.
2006-06-04 15:49:07 +00:00
Martin Blais
af2ae72cb2
Fixes in struct and socket from merge reviews.
...
- Following Guido's comments, renamed
* pack_to -> pack_into
* recv_buf -> recv_into
* recvfrom_buf -> recvfrom_into
- Made fixes to _struct.c according to Neal Norwitz comments on the checkins
list.
- Converted some ints into the appropriate -- I hope -- ssize_t and size_t.
2006-06-04 13:49:49 +00:00