summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2016-07-10 19:33:46 (GMT)
committerdgp <dgp@users.sourceforge.net>2016-07-10 19:33:46 (GMT)
commit2de34a7674bffea69b889e1326b18e442d8e8589 (patch)
tree90edf5315f700ccc908443842aab0f3a0507c9bb /generic
parentda4f0a3cc9ce8134a629c12ce02572e0ee69bb3b (diff)
parent958e525baf3292c31b387ce0306a8dc984419c6c (diff)
downloadtcl-2de34a7674bffea69b889e1326b18e442d8e8589.zip
tcl-2de34a7674bffea69b889e1326b18e442d8e8589.tar.gz
tcl-2de34a7674bffea69b889e1326b18e442d8e8589.tar.bz2
merge 8.6
Diffstat (limited to 'generic')
-rw-r--r--generic/tclClock.c12
-rw-r--r--generic/tclExecute.c1
2 files changed, 13 insertions, 0 deletions
diff --git a/generic/tclClock.c b/generic/tclClock.c
index 949cb1c..c3b29e9 100644
--- a/generic/tclClock.c
+++ b/generic/tclClock.c
@@ -1499,7 +1499,19 @@ GetJulianDayFromEraYearMonthDay(
* Try an initial conversion in the Gregorian calendar.
*/
+#if 0 /* BUG http://core.tcl.tk/tcl/tktview?name=da340d4f32 */
ym1o4 = ym1 / 4;
+#else
+ /*
+ * Have to make sure quotient is truncated towards 0 when negative.
+ * See above bug for details. The casts are necessary.
+ */
+ if (ym1 >= 0)
+ ym1o4 = ym1 / 4;
+ else {
+ ym1o4 = - (int) (((unsigned int) -ym1) / 4);
+ }
+#endif
if (ym1 % 4 < 0) {
ym1o4--;
}
diff --git a/generic/tclExecute.c b/generic/tclExecute.c
index 5c7505b..ac4076c 100644
--- a/generic/tclExecute.c
+++ b/generic/tclExecute.c
@@ -3168,6 +3168,7 @@ TEBCresume(
Tcl_ListObjAppendElement(NULL, copyPtr, objPtr);
Tcl_ListObjReplace(NULL, copyPtr, LIST_MAX, 0,
objc - opnd, objv + opnd);
+ Tcl_DecrRefCount(objPtr);
objPtr = copyPtr;
}