Rev 111 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
/**************************************************************************** __________ __ ___.* Open \______ \ ____ ____ | | _\_ |__ _______ ___* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \* \/ \/ \/ \/ \/* $Id: mktime.c 25850 2010-05-06 21:04:40Z kugel $** Copyright (C) 2002 by Linus Nielsen Feltzing** This program is free software; you can redistribute it and/or* modify it under the terms of the GNU General Public License* as published by the Free Software Foundation; either version 2* of the License, or (at your option) any later version.** This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY* KIND, either express or implied.*****************************************************************************/#include "global.h"#include <time.h>#include "config.h"#if CONFIG_RTC/* mktime() code taken from lynx-2.8.5 source, writtenby Philippe De Muyter <phdm@macqel.be> */time_t mktime(struct tm *t){short month, year;time_t result;static int m_to_d[12] ={0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334};month = t->tm_mon;year = t->tm_year + month / 12 + 1900;month %= 12;if (month < 0){year -= 1;month += 12;}result = (year - 1970) * 365 + (year - 1969) / 4 + m_to_d[month];result = (year - 1970) * 365 + m_to_d[month];if (month <= 1)year -= 1;result += (year - 1968) / 4;result -= (year - 1900) / 100;result += (year - 1600) / 400;result += t->tm_mday;result -= 1;result *= 24;result += t->tm_hour;result *= 60;result += t->tm_min;result *= 60;result += t->tm_sec;return(result);}#endif