mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
VDR now stops with result value 2 if one of the configuration files can't be read correctly at program startup
This commit is contained in:
parent
fc19cf3527
commit
57a95c6790
@ -317,6 +317,8 @@ Rainer Zocholl <vdrcontrib@zocki.toppoint.de>
|
|||||||
for reporting a bug in skipping the next hit of a repeating timer
|
for reporting a bug in skipping the next hit of a repeating timer
|
||||||
for reporting a problem with staying off the end of an ongoing recording while
|
for reporting a problem with staying off the end of an ongoing recording while
|
||||||
replaying in time shift mode
|
replaying in time shift mode
|
||||||
|
for suggesting that VDR should stop if one of the configuration files can't be
|
||||||
|
read correctly at program startup
|
||||||
|
|
||||||
Oleg Assovski <assen@bitcom.msk.ru>
|
Oleg Assovski <assen@bitcom.msk.ru>
|
||||||
for adding EPG scanning for another 4 days
|
for adding EPG scanning for another 4 days
|
||||||
|
2
HISTORY
2
HISTORY
@ -2300,3 +2300,5 @@ Video Disk Recorder Revision History
|
|||||||
to Reinhard Nissl for reporting this one).
|
to Reinhard Nissl for reporting this one).
|
||||||
- Fixed staying off the end of an ongoing recording while replaying in time shift
|
- Fixed staying off the end of an ongoing recording while replaying in time shift
|
||||||
mode (thanks to Rainer Zocholl for reporting this one).
|
mode (thanks to Rainer Zocholl for reporting this one).
|
||||||
|
- VDR now stops with exit status 2 if one of the configuration files can't be
|
||||||
|
read correctly at program startup (suggested by Rainer Zocholl).
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: channels.c 1.12 2003/04/26 09:57:48 kls Exp $
|
* $Id: channels.c 1.13 2003/08/16 09:12:26 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "channels.h"
|
#include "channels.h"
|
||||||
@ -390,9 +390,9 @@ bool cChannel::Save(FILE *f)
|
|||||||
|
|
||||||
cChannels Channels;
|
cChannels Channels;
|
||||||
|
|
||||||
bool cChannels::Load(const char *FileName, bool AllowComments)
|
bool cChannels::Load(const char *FileName, bool AllowComments, bool MustExist)
|
||||||
{
|
{
|
||||||
if (cConfig<cChannel>::Load(FileName, AllowComments)) {
|
if (cConfig<cChannel>::Load(FileName, AllowComments, MustExist)) {
|
||||||
ReNumber();
|
ReNumber();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: channels.h 1.7 2003/04/26 09:15:40 kls Exp $
|
* $Id: channels.h 1.8 2003/08/16 09:12:15 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __CHANNELS_H
|
#ifndef __CHANNELS_H
|
||||||
@ -130,7 +130,7 @@ protected:
|
|||||||
int maxNumber;
|
int maxNumber;
|
||||||
public:
|
public:
|
||||||
cChannels(void) { maxNumber = 0; }
|
cChannels(void) { maxNumber = 0; }
|
||||||
virtual bool Load(const char *FileName, bool AllowComments = false);
|
virtual bool Load(const char *FileName, bool AllowComments = false, bool MustExist = false);
|
||||||
int GetNextGroup(int Idx); // Get next channel group
|
int GetNextGroup(int Idx); // Get next channel group
|
||||||
int GetPrevGroup(int Idx); // Get previous channel group
|
int GetPrevGroup(int Idx); // Get previous channel group
|
||||||
int GetNextNormal(int Idx); // Get next normal channel (not group)
|
int GetNextNormal(int Idx); // Get next normal channel (not group)
|
||||||
|
12
config.h
12
config.h
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: config.h 1.166 2003/08/06 14:45:10 kls Exp $
|
* $Id: config.h 1.167 2003/08/16 09:08:33 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __CONFIG_H
|
#ifndef __CONFIG_H
|
||||||
@ -87,7 +87,7 @@ public:
|
|||||||
cConfig(void) { fileName = NULL; }
|
cConfig(void) { fileName = NULL; }
|
||||||
virtual ~cConfig() { free(fileName); }
|
virtual ~cConfig() { free(fileName); }
|
||||||
const char *FileName(void) { return fileName; }
|
const char *FileName(void) { return fileName; }
|
||||||
bool Load(const char *FileName = NULL, bool AllowComments = false)
|
bool Load(const char *FileName = NULL, bool AllowComments = false, bool MustExist = false)
|
||||||
{
|
{
|
||||||
Clear();
|
Clear();
|
||||||
if (FileName) {
|
if (FileName) {
|
||||||
@ -95,7 +95,7 @@ public:
|
|||||||
fileName = strdup(FileName);
|
fileName = strdup(FileName);
|
||||||
allowComments = AllowComments;
|
allowComments = AllowComments;
|
||||||
}
|
}
|
||||||
bool result = false;
|
bool result = !MustExist;
|
||||||
if (fileName && access(fileName, F_OK) == 0) {
|
if (fileName && access(fileName, F_OK) == 0) {
|
||||||
isyslog("loading %s", fileName);
|
isyslog("loading %s", fileName);
|
||||||
FILE *f = fopen(fileName, "r");
|
FILE *f = fopen(fileName, "r");
|
||||||
@ -125,9 +125,13 @@ public:
|
|||||||
}
|
}
|
||||||
fclose(f);
|
fclose(f);
|
||||||
}
|
}
|
||||||
else
|
else {
|
||||||
LOG_ERROR_STR(fileName);
|
LOG_ERROR_STR(fileName);
|
||||||
|
result = false;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
if (!result)
|
||||||
|
fprintf(stderr, "vdr: error while reading '%s'\n", fileName);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
bool Save(void)
|
bool Save(void)
|
||||||
|
26
vdr.c
26
vdr.c
@ -22,7 +22,7 @@
|
|||||||
*
|
*
|
||||||
* The project's page is at http://www.cadsoft.de/vdr
|
* The project's page is at http://www.cadsoft.de/vdr
|
||||||
*
|
*
|
||||||
* $Id: vdr.c 1.162 2003/08/02 14:01:32 kls Exp $
|
* $Id: vdr.c 1.163 2003/08/16 09:15:28 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <getopt.h>
|
#include <getopt.h>
|
||||||
@ -341,17 +341,19 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
cPlugin::SetConfigDirectory(ConfigDirectory);
|
cPlugin::SetConfigDirectory(ConfigDirectory);
|
||||||
|
|
||||||
Setup.Load(AddDirectory(ConfigDirectory, "setup.conf"));
|
if (!(Setup.Load(AddDirectory(ConfigDirectory, "setup.conf")) &&
|
||||||
Sources.Load(AddDirectory(ConfigDirectory, "sources.conf"), true);
|
Sources.Load(AddDirectory(ConfigDirectory, "sources.conf"), true, true) &&
|
||||||
Diseqcs.Load(AddDirectory(ConfigDirectory, "diseqc.conf"), true);
|
Diseqcs.Load(AddDirectory(ConfigDirectory, "diseqc.conf"), true, true) &&
|
||||||
Channels.Load(AddDirectory(ConfigDirectory, "channels.conf"));
|
Channels.Load(AddDirectory(ConfigDirectory, "channels.conf"), false, true) &&
|
||||||
Timers.Load(AddDirectory(ConfigDirectory, "timers.conf"));
|
Timers.Load(AddDirectory(ConfigDirectory, "timers.conf")) &&
|
||||||
Commands.Load(AddDirectory(ConfigDirectory, "commands.conf"), true);
|
Commands.Load(AddDirectory(ConfigDirectory, "commands.conf"), true) &&
|
||||||
RecordingCommands.Load(AddDirectory(ConfigDirectory, "reccmds.conf"), true);
|
RecordingCommands.Load(AddDirectory(ConfigDirectory, "reccmds.conf"), true) &&
|
||||||
SVDRPhosts.Load(AddDirectory(ConfigDirectory, "svdrphosts.conf"), true);
|
SVDRPhosts.Load(AddDirectory(ConfigDirectory, "svdrphosts.conf"), true) &&
|
||||||
CaDefinitions.Load(AddDirectory(ConfigDirectory, "ca.conf"), true);
|
CaDefinitions.Load(AddDirectory(ConfigDirectory, "ca.conf"), true) &&
|
||||||
Keys.Load(AddDirectory(ConfigDirectory, "remote.conf"));
|
Keys.Load(AddDirectory(ConfigDirectory, "remote.conf")) &&
|
||||||
KeyMacros.Load(AddDirectory(ConfigDirectory, "keymacros.conf"), true);
|
KeyMacros.Load(AddDirectory(ConfigDirectory, "keymacros.conf"), true)
|
||||||
|
))
|
||||||
|
return 2;
|
||||||
|
|
||||||
// DVB interfaces:
|
// DVB interfaces:
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user