Import Tcl 8.6.11
This commit is contained in:
@@ -721,7 +721,7 @@ Tcl_ScanObjCmd(
|
||||
switch (ch) {
|
||||
case 'n':
|
||||
if (!(flags & SCAN_SUPPRESS)) {
|
||||
objPtr = Tcl_NewIntObj(string - baseString);
|
||||
TclNewIntObj(objPtr, string - baseString);
|
||||
Tcl_IncrRefCount(objPtr);
|
||||
CLANG_ASSERT(objs);
|
||||
objs[objIndex++] = objPtr;
|
||||
@@ -881,17 +881,10 @@ Tcl_ScanObjCmd(
|
||||
* Scan a single Unicode character.
|
||||
*/
|
||||
|
||||
offset = TclUtfToUniChar(string, &sch);
|
||||
i = (int)sch;
|
||||
#if TCL_UTF_MAX == 4
|
||||
if ((sch >= 0xD800) && (offset < 3)) {
|
||||
offset += TclUtfToUniChar(string+offset, &sch);
|
||||
i = (((i<<10) & 0x0FFC00) + 0x10000) + (sch & 0x3FF);
|
||||
}
|
||||
#endif
|
||||
offset = TclUtfToUCS4(string, &i);
|
||||
string += offset;
|
||||
if (!(flags & SCAN_SUPPRESS)) {
|
||||
objPtr = Tcl_NewIntObj(i);
|
||||
TclNewIntObj(objPtr, i);
|
||||
Tcl_IncrRefCount(objPtr);
|
||||
CLANG_ASSERT(objs);
|
||||
objs[objIndex++] = objPtr;
|
||||
@@ -1042,7 +1035,7 @@ Tcl_ScanObjCmd(
|
||||
* Here no vars were specified, we want a list returned (inline scan)
|
||||
*/
|
||||
|
||||
objPtr = Tcl_NewObj();
|
||||
TclNewObj(objPtr);
|
||||
for (i = 0; i < totalVars; i++) {
|
||||
if (objs[i] != NULL) {
|
||||
Tcl_ListObjAppendElement(NULL, objPtr, objs[i]);
|
||||
@@ -1063,16 +1056,16 @@ Tcl_ScanObjCmd(
|
||||
if (code == TCL_OK) {
|
||||
if (underflow && (nconversions == 0)) {
|
||||
if (numVars) {
|
||||
objPtr = Tcl_NewIntObj(-1);
|
||||
TclNewIntObj(objPtr, -1);
|
||||
} else {
|
||||
if (objPtr) {
|
||||
Tcl_SetListObj(objPtr, 0, NULL);
|
||||
} else {
|
||||
objPtr = Tcl_NewObj();
|
||||
TclNewObj(objPtr);
|
||||
}
|
||||
}
|
||||
} else if (numVars) {
|
||||
objPtr = Tcl_NewIntObj(result);
|
||||
TclNewIntObj(objPtr, result);
|
||||
}
|
||||
Tcl_SetObjResult(interp, objPtr);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user