time-util: mktime_or_timegm are changing the struct tm
authorMarcel Hollerbach <marcel-hollerbach@t-online.de>
Wed, 20 Sep 2017 17:26:13 +0000 (19:26 +0200)
committerMarcel Hollerbach <marcel-hollerbach@t-online.de>
Fri, 22 Sep 2017 12:01:33 +0000 (14:01 +0200)
after that wm_day etc. seems to be changed. Moving the check infront of
the mktime_or_timegm fixes that.

src/basic/time-util.c

index bcfa427..f67467c 100644 (file)
@@ -849,11 +849,11 @@ parse_usec:
         }
 
 from_tm:
-        x = mktime_or_timegm(&tm, utc);
-        if (x < 0)
+        if (weekday >= 0 && tm.tm_wday != weekday)
                 return -EINVAL;
 
-        if (weekday >= 0 && tm.tm_wday != weekday)
+        x = mktime_or_timegm(&tm, utc);
+        if (x < 0)
                 return -EINVAL;
 
         ret = (usec_t) x * USEC_PER_SEC + x_usec;