Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | [d19a30db57] Fixed segfault in [clock] internals. Includes test. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
8aca271faca36f92dbc6a2ce1aac6272 |
User & Date: | dgp 2014-04-16 15:30:23 |
References
2014-07-28
| ||
17:47 | • New ticket [3757cdf808] READ bin regression from clock bug fix. artifact: a770c00ba4 user: dgp | |
Context
2014-04-16
| ||
15:40 | [d19a30db57] More testing. check-in: 90fb2d568e user: dgp tags: trunk | |
15:30 | [d19a30db57] Fixed segfault in [clock] internals. Includes test. check-in: 8aca271fac user: dgp tags: trunk | |
15:17 | Test for [d19a30db57]. check-in: bbf2e2ebf8 user: dgp tags: core-8-5-branch | |
14:12 | Fix compiler warnings in win32/cygwin build check-in: b18178d2d2 user: jan.nijtmans tags: trunk | |
Changes
Changes to generic/tclClock.c.
︙ | ︙ | |||
544 545 546 547 548 549 550 551 552 | if (objc != 3) { Tcl_WrongNumArgs(interp, 1, objv, "dict changeover"); return TCL_ERROR; } dict = objv[1]; if (Tcl_DictObjGet(interp, dict, literals[LIT_ERA], &fieldPtr) != TCL_OK || Tcl_GetIndexFromObj(interp, fieldPtr, eras, "era", TCL_EXACT, &era) != TCL_OK | > | | | | | | > > | 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 | if (objc != 3) { Tcl_WrongNumArgs(interp, 1, objv, "dict changeover"); return TCL_ERROR; } dict = objv[1]; if (Tcl_DictObjGet(interp, dict, literals[LIT_ERA], &fieldPtr) != TCL_OK || fieldPtr == NULL || Tcl_GetIndexFromObj(interp, fieldPtr, eras, "era", TCL_EXACT, &era) != TCL_OK || Tcl_DictObjGet(interp, dict, literals[LIT_YEAR], &fieldPtr) != TCL_OK || fieldPtr == NULL || TclGetIntFromObj(interp, fieldPtr, &fields.year) != TCL_OK || Tcl_DictObjGet(interp, dict, literals[LIT_MONTH], &fieldPtr) != TCL_OK || fieldPtr == NULL || TclGetIntFromObj(interp, fieldPtr, &fields.month) != TCL_OK || Tcl_DictObjGet(interp, dict, literals[LIT_DAYOFMONTH], &fieldPtr) != TCL_OK || fieldPtr == NULL || TclGetIntFromObj(interp, fieldPtr, &fields.dayOfMonth)!=TCL_OK || TclGetIntFromObj(interp, objv[2], &changeover) != TCL_OK) { if (fieldPtr == NULL) Tcl_SetObjResult(interp, Tcl_NewStringObj("expected key(s) not found in dictionary", -1)); return TCL_ERROR; } fields.era = era; /* * Get Julian day. */ |
︙ | ︙ | |||
634 635 636 637 638 639 640 641 642 | if (objc != 3) { Tcl_WrongNumArgs(interp, 1, objv, "dict changeover"); return TCL_ERROR; } dict = objv[1]; if (Tcl_DictObjGet(interp, dict, literals[LIT_ERA], &fieldPtr) != TCL_OK || Tcl_GetIndexFromObj(interp, fieldPtr, eras, "era", TCL_EXACT, &era) != TCL_OK | > | | | | | | | | | > > | 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 | if (objc != 3) { Tcl_WrongNumArgs(interp, 1, objv, "dict changeover"); return TCL_ERROR; } dict = objv[1]; if (Tcl_DictObjGet(interp, dict, literals[LIT_ERA], &fieldPtr) != TCL_OK || fieldPtr == NULL || Tcl_GetIndexFromObj(interp, fieldPtr, eras, "era", TCL_EXACT, &era) != TCL_OK || Tcl_DictObjGet(interp, dict, literals[LIT_ISO8601YEAR], &fieldPtr) != TCL_OK || fieldPtr == NULL || TclGetIntFromObj(interp, fieldPtr, &(fields.iso8601Year)) != TCL_OK || Tcl_DictObjGet(interp, dict, literals[LIT_ISO8601WEEK], &fieldPtr) != TCL_OK || fieldPtr == NULL || TclGetIntFromObj(interp, fieldPtr, &(fields.iso8601Week)) != TCL_OK || Tcl_DictObjGet(interp, dict, literals[LIT_DAYOFWEEK], &fieldPtr) != TCL_OK || fieldPtr == NULL || TclGetIntFromObj(interp, fieldPtr, &(fields.dayOfWeek)) != TCL_OK || TclGetIntFromObj(interp, objv[2], &changeover) != TCL_OK) { if (fieldPtr == NULL) Tcl_SetObjResult(interp, Tcl_NewStringObj("expected key(s) not found in dictionary", -1)); return TCL_ERROR; } fields.era = era; /* * Get Julian day. */ |
︙ | ︙ |
Changes to tests/clock.test.
︙ | ︙ | |||
36923 36924 36925 36926 36927 36928 36929 36930 36931 36932 36933 36934 36935 36936 | -result 1256572800 } test clock-67.1 {clock format, %% with a letter following [Bug 2819334]} { clock format [clock seconds] -format %%r } %r # cleanup namespace delete ::testClock ::tcl::clock::ClearCaches ::tcltest::cleanupTests return | > > > > > | 36923 36924 36925 36926 36927 36928 36929 36930 36931 36932 36933 36934 36935 36936 36937 36938 36939 36940 36941 | -result 1256572800 } test clock-67.1 {clock format, %% with a letter following [Bug 2819334]} { clock format [clock seconds] -format %%r } %r test clock-67.2 {Bug d19a30db57} -body { # error, not segfault tcl::clock::GetJulianDayFromEraYearMonthDay {} 2361222 } -returnCodes error -match glob -result * # cleanup namespace delete ::testClock ::tcl::clock::ClearCaches ::tcltest::cleanupTests return |
︙ | ︙ |