Diff
Not logged in

Differences From Artifact [fb127d2ce0]:

To Artifact [6d269b268e]:


780
781
782
783
784
785
786
787
788


789
790
791
792
793
794
795


796
797
798
799
800
801
802
803


804
805
806
807
808
809
810
780
781
782
783
784
785
786


787
788
789
790
791
792
793


794
795
796
797
798
799
800
801


802
803
804
805
806
807
808
809
810







-
-
+
+





-
-
+
+






-
-
+
+







			const char *stop;
			TclParseNumber(NULL, NULL, NULL, start, scanned,
				&stop, TCL_PARSE_NO_WHITESPACE);

			if (isdigit(UCHAR(*stop)) || (stop == start + 1)) {
			    switch (start[1]) {
			    case 'b':
				Tcl_AppendToObj(post,
					" (invalid binary number?)", -1);
				TclAppendLiteralToObj(post,
					" (invalid binary number?)");
				parsePtr->errorType = TCL_PARSE_BAD_NUMBER;
				errCode = "BADNUMBER";
				subErrCode = "BINARY";
				break;
			    case 'o':
				Tcl_AppendToObj(post,
					" (invalid octal number?)", -1);
				TclAppendLiteralToObj(post,
					" (invalid octal number?)");
				parsePtr->errorType = TCL_PARSE_BAD_NUMBER;
				errCode = "BADNUMBER";
				subErrCode = "OCTAL";
				break;
			    default:
				if (isdigit(UCHAR(start[1]))) {
				    Tcl_AppendToObj(post,
					    " (invalid octal number?)", -1);
				    TclAppendLiteralToObj(post,
					    " (invalid octal number?)");
				    parsePtr->errorType = TCL_PARSE_BAD_NUMBER;
				    errCode = "BADNUMBER";
				    subErrCode = "OCTAL";
				}
				break;
			    }
			}
1445
1446
1447
1448
1449
1450
1451
1452

1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464

1465
1466

1467
1468
1469
1470
1471
1472
1473
1445
1446
1447
1448
1449
1450
1451

1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462


1463
1464

1465
1466
1467
1468
1469
1470
1471
1472







-
+










-
-
+

-
+







		(start + scanned + limit > parsePtr->end) ? "" : "...");

	/*
	 * Next, append any postscript message.
	 */

	if (post != NULL) {
	    Tcl_AppendToObj(msg, ";\n", -1);
	    TclAppendLiteralToObj(msg, ";\n");
	    Tcl_AppendObjToObj(msg, post);
	    Tcl_DecrRefCount(post);
	}
	Tcl_SetObjResult(interp, msg);

	/*
	 * Finally, place context information in the errorInfo.
	 */

	numBytes = parsePtr->end - parsePtr->string;
	Tcl_AppendObjToErrorInfo(interp, Tcl_ObjPrintf(
		"\n    (parsing expression \"%.*s%s\")",
	TclPrintfErrorInfo(interp, "\n    (parsing expression \"%.*s%s\")",
		(numBytes < limit) ? (int)numBytes : (int)limit - 3,
		parsePtr->string, (numBytes < limit) ? "" : "..."));
		parsePtr->string, (numBytes < limit) ? "" : "...");
	if (errCode) {
	    TclSetErrorCode(interp, "TCL", "PARSE", "EXPR", errCode, subErrCode);
	}
    }

    return TCL_ERROR;
}