| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
* 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]
|
|
|
|
| |
Tcl_AppendObjToObj.
|
|
|
|
|
|
|
|
| |
of the String struct, storing the number of bytes allocated to store
the Tcl_UniChar array, with an 'int maxChars' field, storing the
number of Tcl_UniChars that may be stored in the allocated space.
This reduces memory requirement a small bit, and makes some range
checks simpler to code.
|
|
|
|
|
|
|
|
| |
Tcl_AppendObjToObj where the char length of the result was only
computed if the appended string was all single byte characters.
This limitation was in place to dodge a bug in Tcl_GetUniChar.
With that bug gone, we can take advantage of always recording the
length of append results when we know it.
|
|
|
|
|
|
|
|
|
|
|
|
| |
the strange representation of an empty string with
objPtr->bytes == NULL and stringPtr->hasUnicode == 0. Instead in
the situations where that was being created, create a traditional
two-legged stork representation (objPtr->bytes = tclEmptyStringRep
and stringPtr->hasUnicode = 1). In the situations where the strange
rep was treated differently, continue to do so by testing
stringPtr->numChars == 0 to detect it. These changes make the code
more conventional so easier for new maintainers to pick up. Also
sets up further simplifications.
|
|
|
|
| |
get blocked by MODULE_SCOPE limits.
|
| |
|
| |
|
|
|
|
|
| |
buffer arguments when no length is passed in, with built-in
overflow protection included. Update three callers to use it.
|
|
|
|
|
|
|
|
|
|
|
| |
Tcl_GetCharLength, Tcl_GetUniChar, Tcl_GetUnicodeFromObj,
Tcl_GetRange, and TclStringObjReverse to use the new macro, and
to more simply and clearly split the cases depending on whether
a valid unicode rep is present or needs to be created.
* generic/tclInt.h: New macro TclNumUtfChars meant to be a faster
replacement for a full Tcl_NumUtfChars() call when the string has all
single-byte characters.
|
|
|
|
|
|
| |
* generic/tclTestObj.c: removing code that did nothing.
Added early returns from Tcl_*SetObjLength when the desired length
is already present; adapted test command to the change.
|
|
|
|
|
|
| |
so that we no longer pass through Tcl_DStrings which have their own
sets of problems when lengths overflow the int range. Now AUTUR and
FillUnicodeRep share a common core routine.
|
| |
|
| |
|
|
|
|
|
|
| |
so that we no longer pass through Tcl_DStrings which have their own
sets of problems when lengths overflow the int range. Now AUTUR and
UpdateStringOfString share a common core routine.
|
| |
|
|
|
|
|
|
| |
* generic/tclTestObj.c: of the String struct (and the
TestString counterpart) from size_t to int since only int values are
ever stored in it.
|
|
|
|
|
| |
of the String struct from size_t to int since only int values are
ever stored in it.
|
|
|
|
|
| |
- some internal const decorations
- spacing
|
|
|
|
|
| |
- some internal const decorations
- spacing
|
|
|
|
| |
broken when using the native CC.
|
|
|
|
| |
which is only called when objPtr->bytes is NULL.
|
| |
|
| |
|
|
|
|
|
|
| |
checks following the call to an UpdateStringProc.
Simplify Tcl_AttemptSetObjLength by removing unreachable code.
|
| |
|
|
|
|
| |
Restrict AppendUtfToUtfRep to non-negative length appends.
|
| |
|
| |
|
|
|
|
| |
warning (as error) in tclCompile.c
|
| |
|
| |
|
|
|
|
| |
API knows more about bytearrays.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
AppendUtfToUtfRep routine to either avoid invalid arguments and
crashes, or to replace them with controlled panics. [Bug 2561794]
|
|
|
|
| |
length of the result of [string repeat]. [Bug 2561746]
|
|
|
|
|
| |
- some internal const decorations
- spacing
|
|
|
|
|
| |
- some internal const decorations
- spacing
|
| |
|
| |
|
|
|
|
|
| |
Tcl_SetUnicodeObj() to panic on a shared object. [Bug 2561488]. Also
factored out common code to reduce duplication.
|
| |
|
|
|
|
|
|
|
|
| |
* tests/interp.test: ensemble. Such conversion is not necessary
* tests/nre.test: (or even all that helpful) in the NRE-enabling
of [interp invokehidden], and it has other implications -- including
significant forkage of the 8.5 and 8.6 implementations -- that are
better off avoided if there's no gain.
|
|
|
|
| |
NULL to (char *) that upsets some compilers. [Bug 2494093].
|
|
|
|
|
|
| |
protections against callers asking for negative lengths. It is
likely when this happens that an integer overflow is to blame.
[Bug 2553906].
|
| |
|