diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2001-09-16 08:57:58 +0200 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2001-09-16 08:57:58 +0200 |
commit | 6ceefaf85f1866e15a90b961cdc589a4fc38b3ae (patch) | |
tree | 2a8a114ab8f661b54986002398dca3db5f0e6b6a /config.c | |
parent | 9be288dbb41880b52ae5a3afb44dd082a045541b (diff) | |
download | vdr-6ceefaf85f1866e15a90b961cdc589a4fc38b3ae.tar.gz vdr-6ceefaf85f1866e15a90b961cdc589a4fc38b3ae.tar.bz2 |
Better error handling when writing configuration files
Diffstat (limited to 'config.c')
-rw-r--r-- | config.c | 31 |
1 files changed, 10 insertions, 21 deletions
@@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: config.c 1.70 2001/09/14 14:35:30 kls Exp $ + * $Id: config.c 1.71 2001/09/16 08:57:58 kls Exp $ */ #include "config.h" @@ -122,24 +122,14 @@ bool cKeys::Load(const char *FileName) bool cKeys::Save(void) { - bool result = true; cSafeFile f(fileName); if (f.Open()) { - if (fprintf(f, "Code\t%c\nAddress\t%04X\n", code, address) > 0) { - for (tKey *k = keys; k->type != kNone; k++) { - if (fprintf(f, "%s\t%08X\n", k->name, k->code) <= 0) { - result = false; - break; - } - } - } - else - result = false; - f.Close(); + fprintf(f, "Code\t%c\nAddress\t%04X\n", code, address); + for (tKey *k = keys; k->type != kNone; k++) + fprintf(f, "%s\t%08X\n", k->name, k->code); + return f.Close(); } - else - result = false; - return result; + return false; } eKeys cKeys::Get(unsigned int Code) @@ -928,12 +918,11 @@ bool cSetup::Save(const char *FileName) fprintf(f, "MultiSpeedMode = %d\n", MultiSpeedMode); fprintf(f, "ShowReplayMode = %d\n", ShowReplayMode); fprintf(f, "CurrentChannel = %d\n", CurrentChannel); - f.Close(); - isyslog(LOG_INFO, "saved setup to %s", FileName); - return true; + if (f.Close()) { + isyslog(LOG_INFO, "saved setup to %s", FileName); + return true; + } } - else - LOG_ERROR_STR(FileName); } else esyslog(LOG_ERR, "attempt to save setup without file name"); |