Tomas Mraz 4e9976
diff -up at-3.1.18/parsetime.y.dst at-3.1.18/parsetime.y
Tomas Mraz 4e9976
--- at-3.1.18/parsetime.y.dst	2015-12-06 16:45:10.000000000 +0100
Tomas Mraz 4e9976
+++ at-3.1.18/parsetime.y	2015-07-01 13:53:14.088881926 +0200
Tomas Mraz 4e9976
@@ -476,8 +476,8 @@ parsetime(time_t currtime, int argc, cha
Tomas Mraz 4e9976
     exectm = *localtime(&currtime);
Tomas Mraz 4e9976
     currtime -= exectm.tm_sec;
Tomas Mraz 4e9976
     exectm.tm_sec = 0;
Tomas Mraz 4e9976
-    exectm.tm_isdst = -1;
Tomas Mraz 4e9976
     memcpy(&currtm,&exectm,sizeof(currtm));
Tomas Mraz 4e9976
+    exectm.tm_isdst = -1;
Tomas Mraz 4e9976
     time_only = 0;
Tomas Mraz 4e9976
     yearspec = 0;
Tomas Mraz 4e9976
 
Tomas Mraz 4e9976
@@ -503,8 +503,8 @@ parsetime(time_t currtime, int argc, cha
Tomas Mraz 4e9976
 	    return 0;
Tomas Mraz 4e9976
 	if (isgmt) {
Tomas Mraz 4e9976
 	    exectime -= timezone;
Tomas Mraz 4e9976
-	    if (currtm.tm_isdst && !exectm.tm_isdst)
Tomas Mraz 4e9976
-		exectime -= 3600;
Tomas Mraz 4e9976
+	    if (exectm.tm_isdst)
Tomas Mraz 4e9976
+		exectime += 3600;
Tomas Mraz 4e9976
 	}
Tomas Mraz 4e9976
 	if (exectime < currtime)
Tomas Mraz 4e9976
 		panic("refusing to create job destined in the past");