1
0
mirror of https://github.com/VDR4Arch/vdr.git synced 2023-10-10 13:36:52 +02:00

Config files can now contain comments separated by '#'

This commit is contained in:
Klaus Schmidinger 2002-02-02 15:57:48 +01:00
parent ddec0a101b
commit fa32be64a8
2 changed files with 11 additions and 6 deletions

View File

@ -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.c 1.79 2002/02/02 12:45:30 kls Exp $ * $Id: config.c 1.80 2002/02/02 15:57:48 kls Exp $
*/ */
#include "config.h" #include "config.h"
@ -658,9 +658,9 @@ cCommands Commands;
cChannels Channels; cChannels Channels;
bool cChannels::Load(const char *FileName) bool cChannels::Load(const char *FileName, bool AllowComments)
{ {
if (cConfig<cChannel>::Load(FileName)) { if (cConfig<cChannel>::Load(FileName, AllowComments)) {
ReNumber(); ReNumber();
return true; return true;
} }

View File

@ -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.90 2002/01/30 18:30:03 kls Exp $ * $Id: config.h 1.91 2002/02/02 15:57:48 kls Exp $
*/ */
#ifndef __CONFIG_H #ifndef __CONFIG_H
@ -182,7 +182,7 @@ private:
public: public:
cConfig(void) { fileName = NULL; } cConfig(void) { fileName = NULL; }
virtual ~cConfig() { delete fileName; } virtual ~cConfig() { delete fileName; }
virtual bool Load(const char *FileName) virtual bool Load(const char *FileName, bool AllowComments = false)
{ {
Clear(); Clear();
fileName = strdup(FileName); fileName = strdup(FileName);
@ -196,6 +196,11 @@ public:
result = true; result = true;
while (fgets(buffer, sizeof(buffer), f) > 0) { while (fgets(buffer, sizeof(buffer), f) > 0) {
line++; line++;
if (AllowComments) {
char *p = strchr(buffer, '#');
if (p)
*p = 0;
}
if (!isempty(buffer)) { if (!isempty(buffer)) {
T *l = new T; T *l = new T;
if (l->Parse(buffer)) if (l->Parse(buffer))
@ -242,7 +247,7 @@ protected:
int maxNumber; int maxNumber;
public: public:
cChannels(void) { maxNumber = 0; } cChannels(void) { maxNumber = 0; }
virtual bool Load(const char *FileName); virtual bool Load(const char *FileName, bool AllowComments = 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)