diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2003-08-02 13:23:58 +0200 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2003-08-02 13:23:58 +0200 |
commit | 746b232299090f0f249a25d07b5704eb795787f8 (patch) | |
tree | f229d610b42615d2bf2647594b77d882202a80a6 | |
parent | 44992533f0af1452e6b657ff5b7d588742d07ebe (diff) | |
download | vdr-746b232299090f0f249a25d07b5704eb795787f8.tar.gz vdr-746b232299090f0f249a25d07b5704eb795787f8.tar.bz2 |
Fixed a possible crash in case a VFAT file system is used without compiling VDR with VFAT=1
-rw-r--r-- | CONTRIBUTORS | 4 | ||||
-rw-r--r-- | HISTORY | 2 | ||||
-rw-r--r-- | menu.c | 23 | ||||
-rw-r--r-- | recorder.c | 8 |
4 files changed, 20 insertions, 17 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS index c066f7db..480994b5 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -738,3 +738,7 @@ Thomas Keil <tk@commedia-group.com> Kenneth Aafløy <ke-aa@frisurf.no> for fixing checking CA capabilities with the dvb-kernel driver + +Ernst Fürst <ernstfuerst@swissonline.ch> + for reporting a crash in case a VFAT file system is used without compiling VDR + with VFAT=1 @@ -2277,3 +2277,5 @@ Video Disk Recorder Revision History Aafløy). - Fixed selecting the device, because sometimes an FTA recording terminated a CA recording (thanks to Emil Naepflein). +- Fixed a possible crash in case a VFAT file system is used without compiling VDR + with VFAT=1 (thanks to Ernst Fürst for reporting this one). @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: menu.c 1.262 2003/07/26 16:10:39 kls Exp $ + * $Id: menu.c 1.263 2003/08/02 13:23:58 kls Exp $ */ #include "menu.h" @@ -2993,16 +2993,19 @@ cRecordControl::cRecordControl(cDevice *Device, cTimer *Timer, bool Pause) } cRecordingUserCommand::InvokeCommand(RUC_BEFORERECORDING, fileName); - const cChannel *ch = timer->Channel(); - recorder = new cRecorder(fileName, ch->Ca(), timer->Priority(), ch->Vpid(), ch->Apid1(), ch->Apid2(), ch->Dpid1(), ch->Dpid2()); - if (device->AttachReceiver(recorder)) { - Recording.WriteSummary(); - cStatus::MsgRecording(device, Recording.Name()); - if (!Timer && !cReplayControl::LastReplayed()) // an instant recording, maybe from cRecordControls::PauseLiveVideo() - cReplayControl::SetRecording(fileName, Recording.Name()); + isyslog("record %s", fileName); + if (MakeDirs(fileName, true)) { + const cChannel *ch = timer->Channel(); + recorder = new cRecorder(fileName, ch->Ca(), timer->Priority(), ch->Vpid(), ch->Apid1(), ch->Apid2(), ch->Dpid1(), ch->Dpid2()); + if (device->AttachReceiver(recorder)) { + Recording.WriteSummary(); + cStatus::MsgRecording(device, Recording.Name()); + if (!Timer && !cReplayControl::LastReplayed()) // an instant recording, maybe from cRecordControls::PauseLiveVideo() + cReplayControl::SetRecording(fileName, Recording.Name()); + } + else + DELETENULL(recorder); } - else - DELETENULL(recorder); } cRecordControl::~cRecordControl() @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: recorder.c 1.6 2003/05/16 13:33:04 kls Exp $ + * $Id: recorder.c 1.7 2003/08/02 13:01:19 kls Exp $ */ #include <stdarg.h> @@ -34,12 +34,6 @@ cRecorder::cRecorder(const char *FileName, int Ca, int Priority, int VPid, int A fileSize = 0; active = false; lastDiskSpaceCheck = time(NULL); - isyslog("record %s", FileName); - - // Create directories if necessary: - - if (!MakeDirs(FileName, true)) - return; // Make sure the disk is up and running: |