Fixed resume file handling in case the resume.vdr file can't be written

This commit is contained in:
Klaus Schmidinger 2003-05-24 11:22:34 +02:00
parent 38fbbb469d
commit 743a3ec123
3 changed files with 9 additions and 1 deletions

View File

@ -506,6 +506,7 @@ Gerhard Steiner <steiner@mail.austria.com>
records as a newline character
for reporting a bug in displaying messages in the status line in case they exceed
the OSD width
for fixing resume file handling in case the resume.vdr file can't be written
Jaakko Hyvätti <jaakko@hyvatti.iki.fi>
for translating OSD texts to the Finnish language

View File

@ -2182,3 +2182,5 @@ Video Disk Recorder Revision History
- Completed the Finnish OSD texts (thanks to Niko Tarnanen and Rolf Ahrenberg).
- Fixed I/O handling in case an explicit controlling terminal is given (thanks
to Oliver Endriss).
- Fixed resume file handling in case the resume.vdr file can't be written
(thanks to Gerhard Steiner).

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: recording.c 1.78 2003/05/18 15:17:45 kls Exp $
* $Id: recording.c 1.79 2003/05/24 11:22:34 kls Exp $
*/
#include "recording.h"
@ -169,6 +169,11 @@ int cResumeFile::Read(void)
{
int resume = -1;
if (fileName) {
struct stat st;
if (stat(fileName, &st) == 0) {
if ((st.st_mode & S_IWUSR) == 0) // no write access, assume no resume
return -1;
}
int f = open(fileName, O_RDONLY);
if (f >= 0) {
if (safe_read(f, &resume, sizeof(resume)) != sizeof(resume)) {