diff options
author | P. J. McDermott <pj@pehjota.net> | 2022-03-18 19:55:32 (EDT) |
---|---|---|
committer | P. J. McDermott <pj@pehjota.net> | 2022-03-18 19:55:32 (EDT) |
commit | 557090b458bc5a61b56eaf4a0cc66376ac84bdd4 (patch) | |
tree | 51557a69a192e25cf7e05b2b413f24fb58232a77 | |
parent | d84cbfa242fb4ae3a80c54e8941d792a419b2be9 (diff) | |
download | atsign-557090b458bc5a61b56eaf4a0cc66376ac84bdd4.zip atsign-557090b458bc5a61b56eaf4a0cc66376ac84bdd4.tar.gz atsign-557090b458bc5a61b56eaf4a0cc66376ac84bdd4.tar.bz2 |
datetime: Move & unify time() & localtime() calls
-rw-r--r-- | src/datetime.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/datetime.c b/src/datetime.c index 079266b..59adcb9 100644 --- a/src/datetime.c +++ b/src/datetime.c @@ -123,13 +123,14 @@ _datetime_normalize(struct tm *arg_tm, time_t *arg_sec) struct tm *now_tm; int wday; + now_sec = time(NULL); + now_tm = localtime(&now_sec); + if (arg_tm->tm_sec == INT_MIN) { arg_tm->tm_sec = 0; } if (arg_tm->tm_mday == INT_MIN && arg_tm->tm_wday == INT_MIN) { /* No date specified; try today. */ - now_sec = time(NULL); - now_tm = localtime(&now_sec); arg_tm->tm_year = now_tm->tm_year; arg_tm->tm_mon = now_tm->tm_mon; arg_tm->tm_mday = now_tm->tm_mday; @@ -151,8 +152,6 @@ _datetime_normalize(struct tm *arg_tm, time_t *arg_sec) /* Only a weekday specified; try tomorrow or next week. Uses * same shortcut as above. */ wday = arg_tm->tm_wday; - now_sec = time(NULL); - now_tm = localtime(&now_sec); arg_tm->tm_year = now_tm->tm_year; arg_tm->tm_mon = now_tm->tm_mon; arg_tm->tm_mday = now_tm->tm_mday; @@ -164,8 +163,6 @@ _datetime_normalize(struct tm *arg_tm, time_t *arg_sec) *arg_sec += (60 * 60 * 24) * (wday - now_tm->tm_wday); } else if (arg_tm->tm_year == INT_MIN) { /* No year specified; try this year. */ - now_sec = time(NULL); - now_tm = localtime(&now_sec); arg_tm->tm_year = now_tm->tm_year; *arg_sec = mktime(arg_tm); if (*arg_sec <= mktime(now_tm)) { |