diff options
author | horchi <vdr@jwendel.de> | 2020-02-14 08:24:22 +0100 |
---|---|---|
committer | horchi <vdr@jwendel.de> | 2020-02-14 08:24:22 +0100 |
commit | 2e2804214a97a6fac527d90652b82238a769e67f (patch) | |
tree | 93d7823ff490f2e9cc2d0634348ba97f0bd93390 | |
parent | 15f0fdaa237a7ddd2d29c1e2baee70806807ceb5 (diff) | |
download | vdr-plugin-epg2vdr-dev.tar.gz vdr-plugin-epg2vdr-dev.tar.bz2 |
fixed time handling for timerdev
-rw-r--r-- | lib/common.c | 5 | ||||
-rw-r--r-- | lib/common.h | 1 | ||||
-rw-r--r-- | ttools.c | 7 |
3 files changed, 11 insertions, 2 deletions
diff --git a/lib/common.c b/lib/common.c index 2793537..e6bafae 100644 --- a/lib/common.c +++ b/lib/common.c @@ -672,6 +672,11 @@ int l2hhmm(time_t t) return tm.tm_hour * 100 + tm.tm_min; } +time_t hhmm2L(int hhmm, time_t offset) +{ + return ((hhmm/100) * tmeSecondsPerHour) + ((hhmm%100) * tmeSecondsPerMinute) + offset; +} + //*************************************************************************** // HHMM to Pretty Time //*************************************************************************** diff --git a/lib/common.h b/lib/common.h index c8361ec..27c1772 100644 --- a/lib/common.h +++ b/lib/common.h @@ -292,6 +292,7 @@ const char* toWeekdayName(uint day); time_t hhmmOf(time_t t); int l2hhmm(time_t t); std::string hhmm2pTime(int hhmm); +time_t hhmm2L(int hhmm, time_t offset = 0); time_t midnightOf(time_t t); std::string l2pTime(time_t t, const char* format = "%d.%m.%Y %T"); std::string l2pDate(time_t t); @@ -329,10 +329,13 @@ int updateRowByTimer(cDbRow* timerRow, const cTimer* t) contentOfTag(t, "directory", directory, 512); contentOfTag(t, "source", source, 40); + time_t startTime = hhmm2L(t->Start(), t->Day()); + time_t endTime = hhmm2L(t->Stop(), t->Day() + t->Stop() < t->Start() ? tmeSecondsPerDay : 0); + timerRow->setValue("VDRUUID", Epg2VdrConfig.uuid); timerRow->setValue("EVENTID", t->Event() ? (long)t->Event()->EventID() : 0); - timerRow->setValue("_STARTTIME", t->Event() ? t->Event()->StartTime() : 0); - timerRow->setValue("_ENDTIME", t->Event() ? t->StopTime() : 0); + timerRow->setValue("_STARTTIME", startTime); + timerRow->setValue("_ENDTIME", endTime); timerRow->setValue("CHANNELID", channelId); timerRow->setValue("DAY", t->Day()); timerRow->setValue("STARTTIME", t->Start()); |