X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fmodules%2Fupgrade%2Fserv_upgrade.c;h=0b09d9f57675f3c896742487db278f0710774bc5;hb=ac15eb8e5140850bd5752811f4672ebc0be3c6f8;hp=a173024b047e4d2bdb4b84ad59a6b363da081d97;hpb=37f24665aefea1dccb6a5646cd88debba576fdd6;p=citadel.git diff --git a/citadel/modules/upgrade/serv_upgrade.c b/citadel/modules/upgrade/serv_upgrade.c index a173024b0..0b09d9f57 100644 --- a/citadel/modules/upgrade/serv_upgrade.c +++ b/citadel/modules/upgrade/serv_upgrade.c @@ -195,6 +195,27 @@ void convert_ctdluid_to_minusone(void) { return; } + +/* + * Attempt to guess the name of the time zone currently in use + * on the underlying host system. + */ +void guess_time_zone(void) { + FILE *fp; + char buf[PATH_MAX]; + + fp = popen(file_guesstimezone, "r"); + if (fp) { + if (fgets(buf, sizeof buf, fp) && (strlen(buf) > 2)) { + buf[strlen(buf)-1] = 0; + safestrncpy(config.c_default_cal_zone, buf, sizeof config.c_default_cal_zone); + CtdlLogPrintf(CTDL_INFO, "Configuring timezone: %s\n", config.c_default_cal_zone); + } + fclose(fp); + } +} + + /* * Do various things to our configuration file */ @@ -230,6 +251,10 @@ void update_config(void) { config.c_xmpp_s2s_port = 5269; } + if (IsEmptyStr(config.c_default_cal_zone)) { + guess_time_zone(); + } + put_config(); }