mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-09-01 09:51:22 +02:00
setting_helpers: reduce dub code parts
Note: This line: 'TARGET_PREFIX "/share/zoneinfo/" + zone' will be found in other source files too. It could make sense to unify it globally to avoid duplicating code.
This commit is contained in:
@@ -60,7 +60,7 @@
|
|||||||
#include <driver/display.h>
|
#include <driver/display.h>
|
||||||
#include <driver/volume.h>
|
#include <driver/volume.h>
|
||||||
#include <system/helpers.h>
|
#include <system/helpers.h>
|
||||||
|
#include <system/debug.h>
|
||||||
#include <gui/widget/msgbox.h>
|
#include <gui/widget/msgbox.h>
|
||||||
#include <gui/widget/hintbox.h>
|
#include <gui/widget/hintbox.h>
|
||||||
|
|
||||||
@@ -581,6 +581,7 @@ bool CTZChangeNotifier::changeNotify(const neutrino_locale_t, void *Data)
|
|||||||
bool found = false;
|
bool found = false;
|
||||||
std::string name, zone;
|
std::string name, zone;
|
||||||
printf("CTZChangeNotifier::changeNotify: %s\n", (char *) Data);
|
printf("CTZChangeNotifier::changeNotify: %s\n", (char *) Data);
|
||||||
|
std::string zoneinfo = TARGET_PREFIX "/share/zoneinfo/" + zone;
|
||||||
|
|
||||||
xmlDocPtr parser = parseXmlFile("/etc/timezone.xml");
|
xmlDocPtr parser = parseXmlFile("/etc/timezone.xml");
|
||||||
if (parser != NULL)
|
if (parser != NULL)
|
||||||
@@ -600,8 +601,10 @@ bool CTZChangeNotifier::changeNotify(const neutrino_locale_t, void *Data)
|
|||||||
const char *zptr = xmlGetAttribute(search, "zone");
|
const char *zptr = xmlGetAttribute(search, "zone");
|
||||||
if (zptr)
|
if (zptr)
|
||||||
zone = zptr;
|
zone = zptr;
|
||||||
if (!access(TARGET_PREFIX "/share/zoneinfo/" + zone, R_OK))
|
if (!access(zoneinfo.c_str(), R_OK))
|
||||||
found = true;
|
found = true;
|
||||||
|
else
|
||||||
|
dprintf(DEBUG_NORMAL, "[CTZChangeNotifier] [%s - %d] %s not found\n", __func__, __LINE__, zoneinfo.c_str());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -612,7 +615,7 @@ bool CTZChangeNotifier::changeNotify(const neutrino_locale_t, void *Data)
|
|||||||
if (found)
|
if (found)
|
||||||
{
|
{
|
||||||
printf("Timezone: %s -> %s\n", name.c_str(), zone.c_str());
|
printf("Timezone: %s -> %s\n", name.c_str(), zone.c_str());
|
||||||
std::string cmd = TARGET_PREFIX "/share/zoneinfo/" + zone;
|
std::string cmd = zoneinfo;
|
||||||
printf("symlink %s to /etc/localtime\n", cmd.c_str());
|
printf("symlink %s to /etc/localtime\n", cmd.c_str());
|
||||||
if (unlink("/etc/localtime"))
|
if (unlink("/etc/localtime"))
|
||||||
perror("unlink failed");
|
perror("unlink failed");
|
||||||
|
Reference in New Issue
Block a user