diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2005-10-01 10:33:38 +0200 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2005-10-01 10:33:38 +0200 |
commit | 13f68c478736e2f9f97607847688781aae77c041 (patch) | |
tree | 22dc7d632c20bb4a2316e9c6a7485b9ab03423c2 | |
parent | 46a89d211b0f37343aca870f80bb789cacb40d65 (diff) | |
download | vdr-13f68c478736e2f9f97607847688781aae77c041.tar.gz vdr-13f68c478736e2f9f97607847688781aae77c041.tar.bz2 |
Fixed handling the '.update' file in case the video directory is not at the default location
-rw-r--r-- | CONTRIBUTORS | 2 | ||||
-rw-r--r-- | HISTORY | 2 | ||||
-rw-r--r-- | recording.c | 17 | ||||
-rw-r--r-- | recording.h | 5 |
4 files changed, 19 insertions, 7 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 4ba08400..497def03 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -934,6 +934,8 @@ Jon Burgess <mplayer@jburgess.uklinux.net> for pointing out a problem with NPTL ("Native Posix Thread Library") for changing thread handling to make it work with NPTL ("Native Posix Thread Library") for fixing a memory leak in thread handling when using NPTL + for reporting a bug in handling the '.update' file in case the video directory is + not at the default location Thomas Schmidt <thomas.schmidt@in.stud.tu-ilmenau.de> for reporting a crash when canceling a newly created timer @@ -3858,3 +3858,5 @@ Video Disk Recorder Revision History exists (reported by Udo Richter). - Fixed an unjustified "Error while accessing recording!" after deleting a recording from a subfolder. +- Fixed handling the '.update' file in case the video directory is not at the default + location (reported by Jon Burgess). diff --git a/recording.c b/recording.c index 8b21cdd2..9e969224 100644 --- a/recording.c +++ b/recording.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: recording.c 1.119 2005/09/25 14:29:49 kls Exp $ + * $Id: recording.c 1.120 2005/10/01 10:29:02 kls Exp $ */ #include "recording.h" @@ -743,10 +743,11 @@ void cRecording::ResetResume(void) const cRecordings Recordings; +char *cRecordings::updateFileName = NULL; + cRecordings::cRecordings(bool Deleted) :cThread("video directory scanner") { - updateFileName = strdup(AddDirectory(VideoDirectory, ".update")); deleted = Deleted; lastUpdate = 0; state = 0; @@ -755,7 +756,6 @@ cRecordings::cRecordings(bool Deleted) cRecordings::~cRecordings() { Cancel(3); - free(updateFileName); } void cRecordings::Action(void) @@ -763,6 +763,13 @@ void cRecordings::Action(void) Refresh(); } +const char *cRecordings::UpdateFileName(void) +{ + if (!updateFileName) + updateFileName = strdup(AddDirectory(VideoDirectory, ".update")); + return updateFileName; +} + void cRecordings::Refresh(bool Foreground) { lastUpdate = time(NULL); // doing this first to make sure we don't miss anything @@ -825,13 +832,13 @@ bool cRecordings::StateChanged(int &State) void cRecordings::TouchUpdate(void) { - TouchFile(updateFileName); + TouchFile(UpdateFileName()); lastUpdate = time(NULL); // make sure we don't tigger ourselves } bool cRecordings::NeedsUpdate(void) { - return lastUpdate < LastModifiedTime(updateFileName); + return lastUpdate < LastModifiedTime(UpdateFileName()); } bool cRecordings::Update(bool Wait) diff --git a/recording.h b/recording.h index 96bb4b54..341284f2 100644 --- a/recording.h +++ b/recording.h @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: recording.h 1.44 2005/09/25 14:30:13 kls Exp $ + * $Id: recording.h 1.45 2005/10/01 10:24:41 kls Exp $ */ #ifndef __RECORDING_H @@ -93,10 +93,11 @@ public: class cRecordings : public cList<cRecording>, public cThread { private: - char *updateFileName; + static char *updateFileName; bool deleted; time_t lastUpdate; int state; + const char *UpdateFileName(void); void Refresh(bool Foreground = false); void ScanVideoDir(const char *DirName, bool Foreground = false); protected: |