82 Commits

Author SHA1 Message Date
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