diff options
author | Dimitar Petrovski <dimeptr@gmail.com> | 2013-01-31 14:15:37 +0100 |
---|---|---|
committer | Dimitar Petrovski <dimeptr@gmail.com> | 2013-01-31 14:15:37 +0100 |
commit | 2eb5f7d939dd8dbcb560d03bf608e341924b0c2b (patch) | |
tree | cb9c18e7f0bcc3c8749922d4e9756d53c93d0d8f | |
parent | 1674e7952818c7deb9f826040163e3c30ad3c0ca (diff) | |
download | vdr-plugin-eepg-2eb5f7d939dd8dbcb560d03bf608e341924b0c2b.tar.gz vdr-plugin-eepg-2eb5f7d939dd8dbcb560d03bf608e341924b0c2b.tar.bz2 |
fix creating of new theme file if missing in eepg dir
-rw-r--r-- | eepg.c | 21 |
1 files changed, 17 insertions, 4 deletions
@@ -3466,6 +3466,7 @@ cPluginEEPG::cPluginEEPG (void) void cPluginEEPG::CheckCreateFile(const char* Name, const char *fileContent[]) { FILE *File; + bool isSkyTheme = fileContent == SkyItThemes || fileContent == SkyUkThemes; string FileName = string(cSetupEEPG::getInstance()->getConfDir()) + "/" + Name; File = fopen(FileName.c_str(), "r"); if (File == NULL) { @@ -3474,11 +3475,23 @@ void cPluginEEPG::CheckCreateFile(const char* Name, const char *fileContent[]) if (File == NULL) { LogE (0, prep("Error creating file '%s', %s"), FileName.c_str(), strerror (errno)); } else { - int i = 0; - while (fileContent[i] != NULL) { - fprintf (File, "%s\n", fileContent[i]); - i++; + if (!isSkyTheme) { + int i = 0; + while (fileContent[i] != NULL) { + fprintf (File, "%s\n", fileContent[i]); + i++; + } + } else { + for (int i = 0; i < 256; i++) { + if (fileContent[i]) { + fprintf (File, "0x%02x=%s\n", i, fileContent[i]); + } + else { + fprintf (File, "0x%02x=\n", i); + } + } } + LogI (0, prep("Success creating file '%s'"), FileName.c_str()); fclose (File); } |