summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhorchi <vdr@jwendel.de>2020-02-14 08:24:22 +0100
committerhorchi <vdr@jwendel.de>2020-02-14 08:24:22 +0100
commit2e2804214a97a6fac527d90652b82238a769e67f (patch)
tree93d7823ff490f2e9cc2d0634348ba97f0bd93390
parent15f0fdaa237a7ddd2d29c1e2baee70806807ceb5 (diff)
downloadvdr-plugin-epg2vdr-dev.tar.gz
vdr-plugin-epg2vdr-dev.tar.bz2
fixed time handling for timerdev
-rw-r--r--lib/common.c5
-rw-r--r--lib/common.h1
-rw-r--r--ttools.c7
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);
diff --git a/ttools.c b/ttools.c
index f48135d..168fe63 100644
--- a/ttools.c
+++ b/ttools.c
@@ -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());