summaryrefslogtreecommitdiff
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
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
-rw-r--r--CONTRIBUTORS4
-rw-r--r--HISTORY2
-rw-r--r--menu.c23
-rw-r--r--recorder.c8
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
diff --git a/HISTORY b/HISTORY
index 33d3b7b6..7f2fb871 100644
--- a/HISTORY
+++ b/HISTORY
@@ -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).
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()
diff --git a/recorder.c b/recorder.c
index d7cc9c31..2583bae2 100644
--- a/recorder.c
+++ b/recorder.c
@@ -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: