# HG changeset patch # User Paul Eggert # Date 1325721878 28800 # Node ID 37f2db4c9412ba1a72bfd549899a6ae1fa3de823 # Parent 80c03bb8a948ddab7469b312c2c7a58fa3739bf3 test-posixtm: don't assume signed integer wraparound * tests/test-posixtm.c (main): Don't assume wraparound semantics after signed integer overflow. Inspired by (though it may not fix) Bruno Haible's bug report in . diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2012-01-04 Paul Eggert + test-posixtm: don't assume signed integer wraparound + * tests/test-posixtm.c (main): Don't assume wraparound semantics + after signed integer overflow. Inspired by (though it may not + fix) Bruno Haible's bug report in + . + Spell out "Windows 9x" and "Windows XP". * lib/poll.c, lib/select.c: In comments, replace "Win9x" with "Windows 9x" and "WinXP" with "Windows XP". diff --git a/tests/test-posixtm.c b/tests/test-posixtm.c --- a/tests/test-posixtm.c +++ b/tests/test-posixtm.c @@ -118,7 +118,7 @@ for (i = 0; T[i].in; i++) { time_t t_out; - time_t t_exp = T[i].t_expected; + time_t t_exp; bool ok; /* Some tests assume that time_t is signed. @@ -130,13 +130,16 @@ continue; } - if (T[i].valid && t_exp != T[i].t_expected) + if (! (TYPE_MINIMUM (time_t) <= T[i].t_expected + && T[i].t_expected <= TYPE_MAXIMUM (time_t))) { printf ("skipping %s: result is out of range of your time_t\n", T[i].in); continue; } + t_exp = T[i].t_expected; + /* If an input string does not specify the year number, determine the expected output by calling posixtime with an otherwise equivalent string that starts with the current year. */