From 31f3dbcebf13d223a01ee3c2efe02af2312ef545 Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Fri, 2 Mar 2012 19:03:39 +0400 Subject: [PATCH] SIutils.cpp: add local_time arg for parseDVBtime --- src/eitd/SIutils.cpp | 62 ++------------------------------------------ src/eitd/SIutils.hpp | 2 +- 2 files changed, 3 insertions(+), 61 deletions(-) diff --git a/src/eitd/SIutils.cpp b/src/eitd/SIutils.cpp index 5f2c7915d..745c733f7 100644 --- a/src/eitd/SIutils.cpp +++ b/src/eitd/SIutils.cpp @@ -21,64 +21,6 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// $Log: SIutils.cpp,v $ -// Revision 1.15 2005/11/03 21:08:52 mogway -// sectionsd update by Houdini -// -// Changes: -// - EIT und SDT DMX buffer verändert -// -> keine(weniger) POLLER, kostet Speicher beim EITDMX, spart Speicher beim SDTDMX -// -// - vor dem Parsen der Sections werden die Buffer nicht mehr (unnötig) ein zweites mal allokiert und umkopiert -> mehr Performance, weniger Speicherfragmentierung -// -// - unnötige/unbenutze Funktionen auskommentiert -> das gestrippte sectionsd binary wird 23kB kleiner, Test-/Beispielprogramme wie sdt, epg, nit, ... können dann nicht mehr kompiliert werden. -// -// Revision 1.14 2003/03/03 13:38:33 obi -// - cleaned up changeUTCtoCtime a bit -// - finish pthreads using pthread_exit(NULL) instead of return 0 -// - use settimeofday() instead of stime() -// -// Revision 1.13 2002/11/03 22:26:54 thegoodguy -// Use more frequently types defined in zapittypes.h(not complete), fix some warnings, some code cleanup -// -// Revision 1.12 2001/07/17 14:15:52 fnbrd -// Kleine Aenderung damit auch static geht. -// -// Revision 1.11 2001/07/14 16:38:46 fnbrd -// Mit workaround fuer defektes mktime der glibc -// -// Revision 1.10 2001/07/12 22:55:51 fnbrd -// Fehler behoben -// -// Revision 1.9 2001/07/12 22:51:25 fnbrd -// Time-Thread im sectionsd (noch disabled, da prob mit mktime) -// -// Revision 1.8 2001/07/06 11:09:56 fnbrd -// Noch ne Kleinigkeit gefixt. -// -// Revision 1.7 2001/07/06 09:46:01 fnbrd -// Kleiner Fehler behoben -// -// Revision 1.6 2001/07/06 09:27:40 fnbrd -// Kleine Anpassung -// -// Revision 1.5 2001/06/10 14:55:51 fnbrd -// Kleiner Aenderungen und Ergaenzungen (epgMini). -// -// Revision 1.4 2001/05/19 22:46:50 fnbrd -// Jetzt wellformed xml. -// -// Revision 1.3 2001/05/18 13:11:46 fnbrd -// Fast komplett, fehlt nur noch die Auswertung der time-shifted events -// (Startzeit und Dauer der Cinedoms). -// -// Revision 1.2 2001/05/17 01:53:35 fnbrd -// Jetzt mit lokaler Zeit. -// -// Revision 1.1 2001/05/16 15:23:47 fnbrd -// Alles neu macht der Mai. -// -// #include #include @@ -132,7 +74,7 @@ time_t changeUTCtoCtime(const unsigned char *buffer, int local_time) return mktime(&time) + (local_time ? -timezone : 0); } -time_t parseDVBtime(uint16_t mjd, uint32_t bcd) +time_t parseDVBtime(uint16_t mjd, uint32_t bcd, bool local_time) { int year, month, day, y_, m_, k, hour, minutes, seconds; @@ -159,7 +101,7 @@ time_t parseDVBtime(uint16_t mjd, uint32_t bcd) time.tm_min = (minutes >> 4) * 10 + (minutes & 0x0f); time.tm_sec = (seconds >> 4) * 10 + (seconds & 0x0f); - return mktime(&time) - timezone; + return mktime(&time) + (local_time ? -timezone : 0); } // Thanks to tmbinc diff --git a/src/eitd/SIutils.hpp b/src/eitd/SIutils.hpp index 1afc2edf1..4422bcc31 100644 --- a/src/eitd/SIutils.hpp +++ b/src/eitd/SIutils.hpp @@ -31,7 +31,7 @@ //#define ENABLE_FREESATEPG //FIXME time_t changeUTCtoCtime(const unsigned char *buffer, int local_time=1); -time_t parseDVBtime(uint16_t mjd, uint32_t bcd); +time_t parseDVBtime(uint16_t mjd, uint32_t bcd, bool local_time = true); // returns the descriptor type as readable text const char *decode_descr (unsigned char tag_value);