|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2000-12-13 18:59 UTC] boian at bonev dot com
Sometimes in tzones GMT+something the calculation below can give negative or time greater than 1000
the fix just checks both cases since timezone cannot add more than a day (or less respectively) or in other terms 1000 swatch beats
case 'B': /* Swatch Beat a.k.a. Internet Time */
beat = (((((long)the_time)-(((long)the_time) -
((((long)the_time) % 86400) + 3600))) * 10) / 864);
-- the fix --
if (beat < 0) beat += 1000;
if (beat > 999) beat -= 1000;
-- end fix --
sprintf(tmp_buff, "%03d", beat); /* SAFE */
strcat(return_value->value.str.val, tmp_buff);
break;
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Fri Nov 07 23:00:01 2025 UTC |
fixed with: while (beat < 0) { beat += 1000; } beat = beat % 1000; Swatch Internet Time is very, very sad.