setting_helpers: suplement to "setting_helpers: reduce dub code parts"

Init of zone was incomplete


Origin commit data
------------------
Branch: ni/coolstream
Commit: e3555f2e69
Author: Thilo Graf <dbt@novatux.de>
Date: 2023-05-09 (Tue, 09 May 2023)



------------------
This commit was generated by Migit
This commit is contained in:
2023-05-09 21:04:24 +02:00
committed by vanhofen
parent bea4ac652c
commit 8b71bbd2b1

View File

@@ -65,6 +65,7 @@
#include <driver/volume.h> #include <driver/volume.h>
#include <system/helpers.h> #include <system/helpers.h>
#include <system/debug.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>
@@ -617,9 +618,9 @@ std::string CNetAdapter::getMacAddr(void)
bool CTZChangeNotifier::changeNotify(const neutrino_locale_t, void *Data) bool CTZChangeNotifier::changeNotify(const neutrino_locale_t, void *Data)
{ {
bool found = false; bool found = false;
std::string name, zone; std::string name, zoneinfo, zone;
zoneinfo = TARGET_PREFIX "/share/zoneinfo/";
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)
@@ -639,10 +640,11 @@ 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(zoneinfo.c_str(), R_OK)) std::string Zone = zoneinfo + zone;
if (!access(Zone.c_str(), R_OK))
found = true; found = true;
else else
dprintf(DEBUG_NORMAL, "[CTZChangeNotifier] [%s - %d] %s not found\n", __func__, __LINE__, zoneinfo.c_str()); dprintf(DEBUG_NORMAL, "[CTZChangeNotifier] [%s - %d] %s not found\n", __func__, __LINE__, Zone.c_str());
break; break;
} }
} }
@@ -653,7 +655,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 = zoneinfo; std::string cmd = zoneinfo + zone;
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");