diff --git a/kcontrol/dateandtime/helper.cpp b/kcontrol/dateandtime/helper.cpp index 163f8c0d..3df606b8 100644 --- a/kcontrol/dateandtime/helper.cpp +++ b/kcontrol/dateandtime/helper.cpp @@ -116,17 +116,17 @@ ClockHelper::CH_Error ClockHelper::tz( const QString& selectedzone ) // NOTE: keep in sync with ktimezoned/ktimezoned.cpp static const QStringList zoneDirs = QStringList() - << QLatin1String("/share/zoneinfo") - << QLatin1String("/lib/zoneinfo") - << QLatin1String("/usr/share/zoneinfo") - << QLatin1String("/usr/lib/zoneinfo") - << QLatin1String("/usr/local/share/zoneinfo") - << QLatin1String("/usr/local/lib/zoneinfo") - << (KStandardDirs::installPath("kdedir") + QLatin1String("/share/zoneinfo")) - << (KStandardDirs::installPath("kdedir") + QLatin1String("/lib/zoneinfo")); + << QLatin1String("/share/zoneinfo/") + << QLatin1String("/lib/zoneinfo/") + << QLatin1String("/usr/share/zoneinfo/") + << QLatin1String("/usr/lib/zoneinfo/") + << QLatin1String("/usr/local/share/zoneinfo/") + << QLatin1String("/usr/local/lib/zoneinfo/") + << (KStandardDirs::installPath("kdedir") + QLatin1String("/share/zoneinfo/")) + << (KStandardDirs::installPath("kdedir") + QLatin1String("/lib/zoneinfo/")); // /usr is kind of standard - QString ZONE_INFO_DIR = "/usr/share/zoneinfo"; + QString ZONE_INFO_DIR = "/usr/share/zoneinfo/"; foreach (const QString &zonedir, zoneDirs) { if (QDir(zonedir).exists()) { @@ -136,10 +136,7 @@ ClockHelper::CH_Error ClockHelper::tz( const QString& selectedzone ) QString tz = ZONE_INFO_DIR + selectedzone; - QFile f("/etc/localtime"); - if (f.exists() && !f.remove()) { - return TimezoneError; - } + unlink( "/etc/localtime" ); if (!QFile::link(tz, "/etc/localtime")) { return TimezoneError;