summaryrefslogtreecommitdiffstats
path: root/Modules/_struct.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix possible undefined behaviour from signed overflow in struct module.Mark Dickinson2010-06-111-22/+29
| | | | Backport of revisions 81897, 81898 and 81902 from py3k.
* Untabify C files. Will watch buildbots.Antoine Pitrou2010-05-091-1259/+1259
|
* A handful of whitespace fixes in Modules/_struct.c.Mark Dickinson2010-04-041-20/+20
|
* Issue #8300 (__index__ handling in struct.pack): Remove redundant checkMark Dickinson2010-04-041-6/+1
| | | | and improve test coverage. Thanks Meador Inge for the patch.
* Issue #8300: Let struct.pack use __index__ to convert and pack non-integers.Mark Dickinson2010-04-031-11/+39
| | | | Based on a patch by Meador Inge.
* Silence compiler warning.Mark Dickinson2010-03-071-1/+4
|
* Issue #1530559: When packing a non-integer with any integer conversionMark Dickinson2010-03-071-12/+52
| | | | | | | | | 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__.
* Remove the redundant #define: PY_STRUCT_FLOAT_COERCEMark Dickinson2010-03-051-13/+0
|
* Fix incorrect stacklevel for DeprecationWarnings originating from the struct ↵Mark Dickinson2010-03-051-1/+1
| | | | | | | module. Also clean up related tests in test_struct. The stacklevel fix should be backported to 2.6 once that branch is unfrozen.
* Issue #7078: _struct.__doc__ was being ignored. Import it into struct.Mark Dickinson2009-10-081-8/+10
| | | | | Also add description of '?' struct format character. Thanks Gabriel Genellina for the patch.
* Eliminate unnecessary get_wrapped_(u)long defines in struct module.Mark Dickinson2009-09-271-9/+6
|
* Issue #1523: Remove deprecated overflow masking in struct module, andMark Dickinson2009-07-071-219/+32
| | | | make sure that out-of-range values consistently raise struct.error.
* Typo in error messageMark Dickinson2009-07-071-1/+1
|
* Issues #1530559, #1741130: Fix various inconsistencies in struct.packMark Dickinson2009-07-051-109/+107
| | | | integer packing, and reenable some previously broken tests.
* Fix nearly all compilation warnings under Apple gcc-4.0. Tested with OPT="-gJeffrey Yasskin2009-05-291-0/+2
| | | | | | -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.
* #4228: Pack negative values the same way as 2.4Georg Brandl2009-01-011-6/+6
| | | | in struct's L format.
* Victor Stinner's patches to check the return result of PyLong_Ssize_tBenjamin Peterson2008-09-301-0/+2
| | | | reviewed by Amaury
* Merge in release25-maint r60793:Gregory P. Smith2008-06-111-0/+6
| | | | | | 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.
* This reverts r63675 based on the discussion in this thread:Gregory P. Smith2008-06-091-19/+19
| | | | | | | 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.
* Renamed PyString to PyBytesChristian Heimes2008-05-261-19/+19
|
* Issue 1872: Changed the struct module typecode from 't' to '?', forThomas Heller2008-03-051-3/+3
| | | | compatibility with PEP3118.
* Crashers of the day: Py_CLEAR must be used when there is a chance that theAmaury Forgeot d'Arc2008-02-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | 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
* clearcache() needs to remove the dict as well as clear it.Raymond Hettinger2008-01-181-2/+1
|
* Added _struct._clearcache() for regression testsChristian Heimes2008-01-041-1/+13
|
* Finish-up the struct module optimizations started at the Iceland NFS sprint.Raymond Hettinger2008-01-041-1/+205
|
* #1629: Renamed Py_Size, Py_Type and Py_Refcnt to Py_SIZE, Py_TYPE and ↵Christian Heimes2007-12-191-4/+4
| | | | Py_REFCNT. Macros for b/w compatibility are available.
* PEP 3123: Provide forward compatibility with Python 3.0, while keepingMartin v. Löwis2007-07-211-6/+5
| | | | | backwards compatibility. Add Py_Refcnt, Py_Type, Py_Size, and PyVarObject_HEAD_INIT.
* Stop using METH_OLDARGS implicitlyNeal Norwitz2007-05-221-1/+1
|
* Make pythoncore compile cleanly with VisualStudio 2005. Used an explicit ↵Kristján Valur Jónsson2007-04-251-2/+2
| | | | typecast to get a 64 bit integer, and undefined the Yield macro that conflicts with winbase.h
* Bug #1563759: struct.unpack doens't support buffer protocol objectsRaymond Hettinger2007-04-051-7/+25
|
* Patch #1610575: Add support for _Bool to struct.Martin v. Löwis2007-01-211-0/+49
|
* Fix #1530559, struct.pack raises TypeError where it used to convert.Bob Ippolito2006-08-041-0/+60
| | | | | Passing float arguments to struct.pack when integers are expected now triggers a DeprecationWarning.
* Add PyErr_WarnEx() so C code can pass the stacklevel to warnings.warn().Neal Norwitz2006-07-301-4/+6
| | | | | | 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.
* Wrap some long linesNeal Norwitz2006-06-111-15/+10
| | | | | Top/Bottom factor out some common expressions Add a XXX comment about widing offset.
* s_methods[]: Stop compiler warnings by castingTim Peters2006-06-041-1/+2
| | | | s_unpack_from to PyCFunction.
* Fixes in struct and socket from merge reviews.Martin Blais2006-06-041-15/+13
| | | | | | | | | | | | | - 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.
* Repaired error in new comment.Tim Peters2006-05-311-4/+4
|
* _range_error(): Speed and simplify (there's no real need forTim Peters2006-05-311-17/+19
| | | | | loops here). Assert that size_t is actually big enough, and that f->size is at least one. Wrap a long line.
* Trimmed trailing whitespace.Tim Peters2006-05-311-22/+22
|
* Calculate smallest properly (it was off by one) and use proper ssize_t types ↵Neal Norwitz2006-05-311-5/+5
| | | | for Win64
* Change wrapping terminology to overflow maskingBob Ippolito2006-05-301-18/+18
|
* struct: modulo math plus warning on all endian-explicit formats for ↵Bob Ippolito2006-05-291-11/+163
| | | | compatibility with older struct usage (ugly)
* Silence a warning.Armin Rigo2006-05-291-1/+1
|
* simplify the struct code a bit (no functional changes)Bob Ippolito2006-05-291-23/+31
|
* Fix ref-antileak in _struct.c which eventually lead to deallocating None.Georg Brandl2006-05-281-1/+1
|
* fix struct regression on 64-bit platformsBob Ippolito2006-05-271-22/+36
|
* Fix up struct docstrings, add struct.pack_to function for symmetryBob Ippolito2006-05-271-8/+8
|
* Remove the range checking and int usage #defines from _struct and strip out ↵Bob Ippolito2006-05-271-63/+8
| | | | the now-dead code
* enable all of the struct tests, use ssize_t, fix some whitespaceBob Ippolito2006-05-261-58/+67
|
* Repair Windows compiler warnings about mixingTim Peters2006-05-261-2/+2
| | | | signed and unsigned integral types in comparisons.