summaryrefslogtreecommitdiffstats
path: root/generic/tclBinary.c
Commit message (Collapse)AuthorAgeFilesLines
* [2992970] Restore the safety of Tcl_AppendObjToObj(x, x) for bytearrays.bug_2992970dgp2014-01-151-41/+33
| | | | | | | | | Also moves overflow checking to TclAppendBytesToByteArray() and adds the ability to call TABTBA() with bytes==NULL, for appending unspecified bytes. That is, the string grows, but the new bytes are of undetermined value. Like Tcl_NewByteArrayObj(NULL, length) this option is useful for manipulating buffers. The TABTBA growth algorithm is also enhanced a bit, copying over a fuller implementation from GrowStringBuffer() in tclStringObj.c
* Tcl_SetResult -> Tcl_SetObjResultjan.nijtmans2013-09-261-2/+4
|
* Refactor to remove unused flexibility.dkf2013-09-161-12/+10
|
* Be careful: separator needs to be bytes, not internal-encoded.dkf2013-09-161-7/+10
|
* Add back -wrapchar option to "binary encode uuencode"jan.nijtmans2013-09-151-6/+13
|\
| * Hm, this check doesn't really add anything.jan.nijtmans2013-09-141-6/+0
| |
| * Add back -wrapchar option to "binary encode uuencode".jan.nijtmans2013-09-141-6/+19
| |
* | And the decoder too.dkf2013-09-141-18/+86
|/
* [2152292] Corrected implementation of uuencoding.dkf2013-09-141-4/+121
|
* [b98fa55285]: Fix handling of whitespace at end of hex strings to decode.dkf2013-09-011-20/+23
|
* Some VOID -> void, Tcl_TraceVar -> Tcl_TraceVar2 and Tcl_VarTraceInfo -> ↵jan.nijtmans2013-02-271-1/+1
| | | | Tcl_VarTraceInfo2 conversions.
* Tcl_InvalidateStringRep -> TclInvalidateStringRepjan.nijtmans2013-02-071-3/+3
|\
| * Tcl_InvalidateStringRep -> TclInvalidateStringRepjan.nijtmans2013-02-071-2/+2
| |
* | merge core-8-5-branchjan.nijtmans2013-01-311-2/+3
|\ \ | |/
| * Use twoPtrValue.ptr1 in stead of otherValuePtr everywhere. This is exactly ↵jan.nijtmans2013-01-311-2/+2
| | | | | | | | the same field, but it allows twoPtrValue.ptr2 to be used for other purposes.
* | Add super-simple compiler to many ensemble subcommands to allow better codedkf2013-01-041-23/+27
| | | | | | | | | | generation where we can detect that we're not in the WrongNumArgs case. The compiler just checks that the argument count is in the right range and issues a standard dispatch; that's enough to do an efficient job.
* | very minor style tweaksbug_3033307dkf2012-11-201-6/+9
| |
* | Contributed patch from Andy Goth.dgp2012-11-151-26/+65
| |
* | eliminate compiler warning in previous commitjan.nijtmans2012-09-171-1/+1
|\ \ | |/
| * eliminate compiler warning in previous commitjan.nijtmans2012-09-171-1/+1
| |
| * Nicer style test.stwo2012-09-161-2/+2
| |
* | Nicer style test.stwo2012-09-161-2/+2
| |
| |
| \
*-. \ [Bug 3496014] Unecessary memset() in Tcl_SetByteArrayObj().jan.nijtmans2012-08-231-7/+5
|\ \ \ | | |/
| | * [Bug 3496014] Protect Tcl_SetByteArrayObj for invalid valuesjan.nijtmans2012-08-231-1/+6
| | | | | | | | | (Backported from Tcl 8.6)
| | * [Bug 3388350] mingw64 compiler warningsjan.nijtmans2011-08-161-1/+1
| | |\
| | * | Backport fix for [Bug 2857044].dgp2011-04-271-0/+1
| | | |
| * | | [Bug 3496014]: Unecessary memset() in Tcl_SetByteArrayObj()bug_3496014jan.nijtmans2012-07-161-6/+2
| | | |
* | | | more result generation conversiondkf2012-08-031-11/+13
|/ / /
* | | (Tcl_SetByteArrayObj): Only zero out the memory block if it is not beingdkf2012-03-021-3/+6
| | | | | | | | | immediately overwritten. Thanks to Stuart Cassoff for spotting.
* | | Adjust ckalloc/ckfree macros to greatly reduce number of explicit casts indkf2011-03-121-11/+9
| | | | | | | | | rest of Tcl source code. No ABI change. API change *should* be harmless.
* | | Now that we're no longer using SCM based on RCS, the RCS Keyword linesdgp2011-03-021-2/+0
|\ \ \ | |/ / | | | 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/+0
| |\ \ | | |/ | | | more harm than good. Purged them.
| | * 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.
| | * Backported fix for #1923966patthoyts2008-03-241-2/+4
| | |
| | * De-fang an instance of the shared-result anti-pattern. [Bug 1716704]dkf2007-06-301-1/+5
| | |
| | * * generic/tclBasic.c:Miguel Sofer2005-10-231-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclBinary.c: * generic/tclCmdAH.c: * generic/tclCmdIL.c: * generic/tclCmdMZ.c: * generic/tclExecute.c: * generic/tclLink.c: * generic/tclMain.c: * generic/tclProc.c: * generic/tclScan.c: * generic/tclTest.c: * generic/tclVar.c: * mac/tclMacInit.c: * unix/tclUnixInit.c: * win/tclWinInit.c: Insure that the core never calls TclPtrSetVar, Tcl_SetVar2Ex, Tcl_ObjSetVar2 or Tcl_SetObjErrorCode with a 0-ref new value. It is not possible to handle error returns correctly in that case [Bug 1334947], one has the choice of leaking the object in some cases, or else risk crashing in some others.
| | * Fix [Bug 1116542]dkf2005-09-271-2/+18
| | |
| | * * generic/tclBinary.c (DeleteScanNumberCache): fixed crashing bugdas2003-12-171-2/+4
| | | | | | | | | | | | when numeric scan-value cache contains NULL value.
| | * Stop losing references when variables are repeated in [binary scan]. [851747]dkf2003-12-021-40/+71
| | |
| * | * generic/tclBinary.c (UpdateStringOfByteArray): Add panicdgp2010-04-301-2/+5
| | | | | | | | | | | | | | | when the generated string representation would grow beyond Tcl's size limits. [Bug 2994924]
* | | Fix gcc -Wextra warning: missing initializernijtmans2010-12-101-20/+21
| | |
* | | [Bug 3129448]: possible over-allocation on 64-bit platformsnijtmans2010-12-061-3/+3
| | |
* | | Tcl_Panic already writes a newline at the end, so the caller doesn't have to ↵nijtmans2010-11-191-2/+2
| | | | | | | | | | | | do that
* | | * generic/tclBinary.c (TclAppendBytesToByteArray): [Bug 3067036]: Makedkf2010-09-151-4/+19
| | | | | | | | | | | | | | | sure we never try to double zero repeatedly to get a buffer size. Also added a check for sanity on the size of buffer being appended.
* | | Remove many type casts which are no longernecessary as a result of [Patch ↵nijtmans2010-08-221-2/+2
| | | | | | | | | | | | 3009403]: Signature of Tcl_GetHashKey, Tcl_(Create|Find)HashEntry
* | | * generic/tclBinary.c (TclAppendBytesToByteArray): Add commentsdgp2010-04-301-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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): Add extra armourdkf2010-04-301-6/+11
| | | | | | | | | | | | against buffer overflows.
* | | fix MSVC warning C4018: '>' : signed/unsigned mismatchnijtmans2010-04-291-2/+2
| | |
* | | * generic/tclBinary.c (TclAppendBytesToByteArray): [Bug 2992970]: Makedkf2010-04-291-1/+76
| | | | | | | | | | | | | | | | | | * 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.
* | | Code Audit results:dkf2010-03-051-12/+18
| | | | | | | | | | | | | | | | | | | | | | | | * use do { ... } while (0) in macros * avoid shadowing one local variable with another * use clearer 'foo.bar++;' instead of '++foo.bar;' where result not required (i.e., semantically equivalent) * follow Engineering Manual rules on spacing and declarations