summaryrefslogtreecommitdiff
path: root/menu.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2003-08-02 13:23:58 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2003-08-02 13:23:58 +0200
commit746b232299090f0f249a25d07b5704eb795787f8 (patch)
treef229d610b42615d2bf2647594b77d882202a80a6 /menu.c
parent44992533f0af1452e6b657ff5b7d588742d07ebe (diff)
downloadvdr-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
Diffstat (limited to 'menu.c')
-rw-r--r--menu.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/menu.c b/menu.c
index ca98630c..b260ee38 100644
--- a/menu.c
+++ b/menu.c
@@ -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()