summaryrefslogtreecommitdiffstats
path: root/generic/tclRegexp.c
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2012-08-04 07:52:39 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2012-08-04 07:52:39 (GMT)
commit4aff1e5a4ca6dc45fa445b23777e3d8dd728c82c (patch)
treef191ab6d4e59ba4240dd4544b19de87c4da601dd /generic/tclRegexp.c
parent945186c2fac7c4c3ba9275d1c6cbb45b8e10a954 (diff)
parent24ef33dc101a3e9114318b884c1e99d792f4739d (diff)
downloadtcl-dkf_utf16_branch.zip
tcl-dkf_utf16_branch.tar.gz
tcl-dkf_utf16_branch.tar.bz2
merge trunkdkf_utf16_branch
Diffstat (limited to 'generic/tclRegexp.c')
-rw-r--r--generic/tclRegexp.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/generic/tclRegexp.c b/generic/tclRegexp.c
index 5c5af7b..6c1dc08 100644
--- a/generic/tclRegexp.c
+++ b/generic/tclRegexp.c
@@ -714,14 +714,14 @@ TclRegError(
int status) /* Status code to report. */
{
char buf[100]; /* ample in practice */
- char cbuf[100]; /* lots in practice */
+ char cbuf[TCL_INTEGER_SPACE];
size_t n;
const char *p;
Tcl_ResetResult(interp);
n = TclReError(status, NULL, buf, sizeof(buf));
p = (n > sizeof(buf)) ? "..." : "";
- Tcl_AppendResult(interp, msg, buf, p, NULL);
+ Tcl_SetObjResult(interp, Tcl_ObjPrintf("%s%s%s", msg, buf, p));
sprintf(cbuf, "%d", status);
(void) TclReError(REG_ITOA, NULL, cbuf, sizeof(cbuf));
@@ -947,10 +947,8 @@ CompileRegexp(
*/
if (TclReToGlob(NULL, string, length, &stringBuf, &exact) == TCL_OK) {
- regexpPtr->globObjPtr = Tcl_NewStringObj(Tcl_DStringValue(&stringBuf),
- Tcl_DStringLength(&stringBuf));
+ regexpPtr->globObjPtr = TclDStringToObj(&stringBuf);
Tcl_IncrRefCount(regexpPtr->globObjPtr);
- Tcl_DStringFree(&stringBuf);
} else {
regexpPtr->globObjPtr = NULL;
}