summaryrefslogtreecommitdiffstats
path: root/generic/tclStringObj.c
Commit message (Collapse)AuthorAgeFilesLines
* Repaired the lost performance in the copy loop hotspots. Now meets or revert_3396731dgp2011-08-271-13/+12
| | | beats the former trunk (and current trunk by magnitudes) in tclbench.
* 3396731 Another rewrite of TclStringObjReverse() to make it adopt thedgp2011-08-251-70/+106
| | | | nijtmans approach for reversing the objPtr->bytes rep without losing performance.
* Set the defaults of all growth algorithm parameters based on one master value.dgp2011-05-121-10/+9
|
* Improved reaction to out of memory.dgp2011-04-281-1/+7
|
* TclFreeIntRep() cleanup.dgp2011-04-271-1/+0
|
* More generation of error codes ([format], [after], [trace], RE optimizer).dkf2011-04-041-2/+20
|
* Reduce the number of casts used to manage Tcl_Obj internal representations.dkf2011-03-261-3/+2
|
* Adjust ckalloc/ckfree macros to greatly reduce number of explicit casts indkf2011-03-121-8/+8
| | | rest of Tcl source code. No ABI change. API change *should* be harmless.
* MINOR: Formatting fixes, mainly to comments, so code better fits the style indkf2011-03-101-61/+148
| | | the Engineering Manual.
* Now that we're no longer using SCM based on RCS, the RCS Keyword linesdgp2011-03-021-2/+1
|\ | | | | cause more harm than good. Purged them (except in zlib files).
| * Now that we're no longer using SCM based on RCS, the RCS Keyword lines causedgp2011-03-021-2/+1
| |\ | | | | | | more harm than good. Purged them.
| | * Typo in last commit broke tclStringObj.c build. Fixed.dgp2011-03-011-0/+1
| | |
| | * Now that we're no longer using SCM based on RCS, the RCS Keyword lines causedgp2011-03-011-2/+0
| | | | | | | | | more harm than good. Purged them.
| | * * generic/tclStringObj.c: (SetStringFromAny): avoid tramplingvasiljevic2010-04-021-2/+4
| | | | | | | | | | | | | | | over the tclEmptyStringRep->bytes as it is thread-shared (thx to Gustaf Neumann for the (hard) work of locating this one).
| | * * generic/tclStringObj.c (UpdateStringOfString): Added cast to fixandreas_kupries2009-04-221-2/+2
| | | | | | | | | | | | signed/unsigned mismatch breaking win32 symbol/debug build.
| | * UpdateStringOfString: matchup with core-8-5-branch changesdas2009-04-151-6/+6
| | |
| | * * generic/tclStringObj.c: AppendUnicodeToUnicodeRep faileddgp2009-04-151-1/+2
| | | | | | | | | | | | to set stringPtr->allocated to 0, leading to crashes.
| | * * generic/tclStringObj.c: Completed backports of fixes fordgp2009-04-071-66/+113
| | | | | | | | | | | | [Bug 2494093] and [Bug 2553906].
| | * * generic/tclStringObj.c: Added protections from invalid memorydgp2009-03-301-1/+32
| | | | | | | | | | | | | | | | | | | | | * generic/tclTestObj.c: accesses when we append (some part of) * tests/stringObj.test: a Tcl_Obj to itself. Added the appendself and appendself2 subcommands to the [teststringobj] testing command and added tests to the test suite. [Bug 2603158]
| | * * generic/tclStringObj.c: Test stringObj-6.9 checks thatdgp2009-03-211-2/+8
| | | | | | | | | | | | | | | * tests/stringObj.test: Tcl_AppendStringsToObj() no longer crashes when operating on a pure unicode value. [Bug 2597185]
| | * * generic/tclStringObj.c: Added overflow protections to thedgp2009-02-051-4/+29
| | | | | | | | | | | | | | | AppendUtfToUtfRep routine to either avoid invalid arguments and crashes, or to replace them with controlled panics. [Bug 2561794]
| | * * generic/tclStringObj.c (SetUnicodeObj): Corrected failure ofdgp2009-02-041-46/+34
| | | | | | | | | | | | | | | Tcl_SetUnicodeObj() to panic on a shared object. [Bug 2561488]. Also factored out common code to reduce duplication.
| | * * generic/tclStringObj.c (STRING_SIZE): Corrected failure to limitdgp2009-01-091-4/+7
| | | | | | | | | | | | | | | memory allocation requests to the sizes that can be supported by Tcl's memory allocation routines. [Bug 2494093].
| | * * generic/tclStringObj.c (STRING_UALLOC): Added missing parensdgp2009-01-081-2/+2
| | | | | | | | | | | | | | | required to get correct results out of things like STRING_UALLOC(num + append). [Bug 2494093].
| | * * generic/tclParse.c (Tcl_ParseCommand): also return an error ifMiguel Sofer2006-09-241-3/+5
| | | | | | | | | | | | | | | | | | | | | start==NULL and numBytes<0. This is coverity's bug #20 * generic/tclStringObj.c (STRING_SIZE): fix allocation for 0-length strings. This is coverity's bugs #54-5
| | * * generic/tclStringObj.c: fixed incorrect handling of internal repMiguel Sofer2006-01-231-2/+2
| | | | | | | | | | | | in Tcl_GetRange [Bug 1410553]. Thanks to twylite and Peter Spjuth.
| * | * generic/tclStringObj.c: (SetStringFromAny): avoid tramplingvasiljevic2010-04-021-2/+4
| | | | | | | | | | | | | | | over the tclEmptyStringRep->bytes as it is thread-shared (thx to Gustaf Neumann for the (hard) work of locating this one).
| * | * generic/tclStringObj.c: Fix array overrun in test format-1.12dgp2010-03-291-2/+2
| | | | | | | | | | | | caught by valgrind testing.
| * | [Bug 2932421]: Make [format] less likely to smash intreps.dkf2010-01-181-21/+33
| | |
| * | * generic/tclStringObj.c: A few more string overflow cases indgp2009-08-271-3/+13
| | | | | | | | | | | | [format]. [Bug 2845535]
| * | * generic/tclStringObj.c: Corrected failure to grow bufferdgp2009-07-311-1/+4
| | | | | | | | | | | | | | | * tests/format.test: when format spec request large width floating point values. Thanks to Clemens Misch. [Bug 2830354]
| * | fix 64bit int <-> ptr cast warningsdas2009-07-151-2/+2
| | |
| * | Cast wide integer to int conversion and some signed/unsigned conversions. ↵patthoyts2009-07-011-3/+3
| | | | | | | | | | | | (silence msvc6 warnings)
| * | * generic/tclStringObj.c: sprintf() -> Tcl_ObjPrintf() conversion.dgp2009-06-151-5/+3
| | |
| * | * generic/tclStringObj.c: Revised [format] to not overflow thedgp2009-06-101-8/+68
| | | | | | | | | | | | | | | | | | | | | integer calculations computing the length of the %ll formats of really big integers. Also added protections so that [format]s that would produce results overflowing the maximum string length of Tcl values throw a normal Tcl error instead of a panic. [Bug 2801413]
| * | * generic/tclStringObj.c: AppendUnicodeToUnicodeRep failedcore_8_5_7dgp2009-04-151-1/+2
| | | | | | | | | | | | to set stringPtr->allocated to 0, leading to crashes.
| * | silence warning preventing symbols build with msvc6 (signed/unsigned comparison)patthoyts2009-04-101-2/+2
| | |
| * | * generic/tclStringObj.c (UpdateStringOfString): Fix bug detecteddgp2009-04-101-3/+3
| | | | | | | | | | | | by compiler warning about undefined "dst".
| * | * generic/tclStringObj.c: Completed backports of fixes fordgp2009-04-071-68/+112
| | | | | | | | | | | | [Bug 2494093] and [Bug 2553906].
| * | * generic/tclStringObj.c: Added protections from invalid memorydgp2009-03-301-1/+33
| | | | | | | | | | | | | | | | | | | | | * generic/tclTestObj.c: accesses when we append (some part of) * tests/stringObj.test: a Tcl_Obj to itself. Added the appendself and appendself2 subcommands to the [teststringobj] testing command and added tests to the test suite. [Bug 2603158]
| * | * generic/tclStringObj.c: Test stringObj-6.9 checks thatdgp2009-03-211-2/+8
| | | | | | | | | | | | | | | * tests/stringObj.test: Tcl_AppendStringsToObj() no longer crashes when operating on a pure unicode value. [Bug 2597185]
| * | * generic/tclStringObj.c: Added overflow protections to thedgp2009-02-051-4/+29
| | | | | | | | | | | | | | | AppendUtfToUtfRep routine to either avoid invalid arguments and crashes, or to replace them with controlled panics. [Bug 2561794]
| * | comment typodgp2009-02-041-2/+2
| | |
| * | * generic/tclStringObj.c (SetUnicodeObj): Corrected failure ofdgp2009-02-041-43/+28
| | | | | | | | | | | | | | | Tcl_SetUnicodeObj() to panic on a shared object. [Bug 2561488]. Also factored out common code to reduce duplication.
| * | * generic/tclStringObj.c (STRING_SIZE): Corrected failure to limitdgp2009-01-091-4/+7
| | | | | | | | | | | | | | | memory allocation requests to the sizes that can be supported by Tcl's memory allocation routines. [Bug 2494093].
| * | * generic/tclStringObj.c (STRING_UALLOC): Added missing parensdgp2009-01-081-2/+2
| | | | | | | | | | | | | | | required to get correct results out of things like STRING_UALLOC(num + append). [Bug 2494093].
| * | * generic/tclStringObj.c (Tcl_AppendFormatToObj):dgp2008-04-071-3/+3
| | | | | | | | | | | | | | | | | | Fix [format {% d}] so that it behaves the same way as in 8.4 and as C's printf(). * tests/format.test: Add a test for '% d' and '%+d'.
* | | * generic/tclZlib.c (Tcl_ZlibStreamGet): [Bug 3081008]: Ensure thatdkf2010-10-191-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | when a bytearray gets its internals entangled with zlib for more than a passing moment, that bytearray will never be shimmered away. This increases the amount of copying but is simple to get right, which is a reasonable trade-off. * generic/tclStringObj.c (Tcl_AppendObjToObj): Added some special cases so that most of the time when you build up a bytearray by appending, it actually ends up being a bytearray rather than shimmering back and forth to string. * tests/http11.test (check_crc): Use a simpler way to express the functionality of this procedure.
* | | * generic/tclBinary.c (TclAppendBytesToByteArray): Add commentsdgp2010-04-301-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclInt.h (TclAppendBytesToByteArray): placing overflow protection responsibility on caller. Convert "len" argument to signed int which any value already vetted for overflow issues will fit into. * generic/tclStringObj.c: Update caller; standardize panic msg. * generic/tclBinary.c (UpdateStringOfByteArray): Add panic when the generated string representation would grow beyond Tcl's size limits. [Bug 2994924]
* | | * generic/tclBinary.c (TclAppendBytesToByteArray): [Bug 2992970]: Makedkf2010-04-291-4/+3
| | | | | | | | | | | | | | | | | | * generic/tclStringObj.c (Tcl_AppendObjToObj): an append of a byte array to another into an efficent operation. The problem was the (lack of) a proper growth management strategy for the byte array.