Mercurial > libavformat.hg
changeset 3306:4d73d137f64e libavformat
Do not loop endlessly if converting into dv with timestamps Jan 1st not
immediately following a lapyear.
Patch by babupillai.
Fixes issue 443.
author | cehoyos |
---|---|
date | Wed, 21 May 2008 07:05:08 +0000 |
parents | 129d36178a10 |
children | e4ff879325c0 |
files | cutils.c |
diffstat | 1 files changed, 2 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/cutils.c Wed May 21 02:26:42 2008 +0000 +++ b/cutils.c Wed May 21 07:05:08 2008 +0000 @@ -77,11 +77,12 @@ /* oh well, may be someone some day will invent a formula for this stuff */ y = 1970; /* start "guessing" */ - while (days >= (ISLEAP(y)?366:365)) { + while (days > 365) { ny = (y + days/366); days -= (ny - y) * 365 + LEAPS_COUNT(ny - 1) - LEAPS_COUNT(y - 1); y = ny; } + if (days==365 && !ISLEAP(y)) { days=0; y++; } md[1] = ISLEAP(y)?29:28; for (m=0; days >= md[m]; m++) days -= md[m];