wmsun: Fix need to restart for Daylight Savings change.

Based on patch by Martin Stigge <martin@stigge.org> to fix Debian
bug #414489 [1].

[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=414489
This commit is contained in:
Doug Torrance 2015-06-14 17:04:53 -05:00 committed by Carlos R. Mafra
parent debdd1b74e
commit a835dae3aa

View file

@ -103,8 +103,8 @@ int main(int argc, char *argv[]) {
struct tm *GMTTime, *LocalTime; struct tm *GMTTime, *LocalTime;
XEvent event; XEvent event;
int n; int n;
int Year, Month, OldLocalDayOfMonth; int Year, Month;
int LocalDayOfMonth, DayOfMonth; int DayOfMonth;
long CurrentLocalTime, CurrentGMTTime, date; long CurrentLocalTime, CurrentGMTTime, date;
double UT, val, LTRise, LTSet, LocalHour, hour24(); double UT, val, LTRise, LTSet, LocalHour, hour24();
int H, M; int H, M;
@ -135,7 +135,6 @@ int main(int argc, char *argv[]) {
* Loop until we die * Loop until we die
*/ */
n = 32000; n = 32000;
OldLocalDayOfMonth = -999;
while(1) { while(1) {
@ -157,7 +156,7 @@ int main(int argc, char *argv[]) {
struct tm result; struct tm result;
n = 0; n = 0;
nMAX = 1000; nMAX = 60;
CurrentGMTTime = time(CurrentTime); CurrentGMTTime = time(CurrentTime);
@ -171,9 +170,7 @@ int main(int argc, char *argv[]) {
CurrentLocalTime = CurrentGMTTime; CurrentLocalTime = CurrentGMTTime;
LocalTime = localtime_r(&CurrentLocalTime, &result); LocalTime = localtime_r(&CurrentLocalTime, &result);
LocalDayOfMonth = LocalTime->tm_mday;
if ((OldLocalDayOfMonth != LocalDayOfMonth)||(Flag)){
Flag = 0; Flag = 0;
@ -240,11 +237,6 @@ int main(int argc, char *argv[]) {
copyXPMArea(10, 84, 28, 7, 19, 40); copyXPMArea(10, 84, 28, 7, 19, 40);
} }
}
OldLocalDayOfMonth = LocalDayOfMonth;
} else { } else {
/* /*