diff options
author | J William Piggott | 2017-10-15 02:37:11 +0200 |
---|---|---|
committer | J William Piggott | 2017-11-10 22:34:55 +0100 |
commit | 4111bb3ab5f406ee381a3807385af59fe33b28f3 (patch) | |
tree | d03f85ab061bfade57c03c716e5226048fcdc8af /login-utils | |
parent | lib/timeutils: add get_gmtoff() (diff) | |
download | kernel-qcow2-util-linux-4111bb3ab5f406ee381a3807385af59fe33b28f3.tar.gz kernel-qcow2-util-linux-4111bb3ab5f406ee381a3807385af59fe33b28f3.tar.xz kernel-qcow2-util-linux-4111bb3ab5f406ee381a3807385af59fe33b28f3.zip |
lib/timeutils: add common ISO timestamp masks
* Start the ISO format flags at bit 0 instead of bit 1.
* Remove unnecessary _8601 from ISO format flag names to
avoid line wrapping and to ease readability.
* ISO timestamps have date-time-timzone in common, so move
the TIMEZONE flag to bit 2 causing all timestamp masks
to have the first three bits set and the last four bits
as timestamp 'options'.
* Change the 'SPACE' flag to a 'T' flag, because it makes
the code and comments more concise.
* Add common ISO timestamp masks.
* Implement the ISO timestamp masks in all applicable code
using the strxxx_iso() functions.
Signed-off-by: J William Piggott <elseifthen@gmx.com>
Diffstat (limited to 'login-utils')
-rw-r--r-- | login-utils/last.c | 2 | ||||
-rw-r--r-- | login-utils/lslogins.c | 5 | ||||
-rw-r--r-- | login-utils/utmpdump.c | 4 |
3 files changed, 4 insertions, 7 deletions
diff --git a/login-utils/last.c b/login-utils/last.c index f2e8f834e..80d77d20b 100644 --- a/login-utils/last.c +++ b/login-utils/last.c @@ -349,7 +349,7 @@ static int time_formatter(int fmt, char *dst, size_t dlen, time_t *when) ret = rtrim_whitespace((unsigned char *) dst); break; case LAST_TIMEFTM_ISO8601: - ret = strtime_iso(when, ISO_8601_DATE|ISO_8601_TIME|ISO_8601_TIMEZONE, dst, dlen); + ret = strtime_iso(when, ISO_TIMESTAMP_T, dst, dlen); break; default: abort(); diff --git a/login-utils/lslogins.c b/login-utils/lslogins.c index 1042b9b41..51033b01b 100644 --- a/login-utils/lslogins.c +++ b/login-utils/lslogins.c @@ -333,11 +333,10 @@ static char *make_time(int mode, time_t time) buf, sizeof(buf)); break; case TIME_ISO: - rc = strtime_iso(&time, ISO_8601_DATE|ISO_8601_TIME|ISO_8601_TIMEZONE, - buf, sizeof(buf)); + rc = strtime_iso(&time, ISO_TIMESTAMP_T, buf, sizeof(buf)); break; case TIME_ISO_SHORT: - rc = strtime_iso(&time, ISO_8601_DATE, buf, sizeof(buf)); + rc = strtime_iso(&time, ISO_DATE, buf, sizeof(buf)); break; default: errx(EXIT_FAILURE, _("unsupported time type")); diff --git a/login-utils/utmpdump.c b/login-utils/utmpdump.c index 00c44b8db..5cc87834a 100644 --- a/login-utils/utmpdump.c +++ b/login-utils/utmpdump.c @@ -102,9 +102,7 @@ static void print_utline(struct utmpx *ut, FILE *out) tv.tv_sec = ut->ut_tv.tv_sec; tv.tv_usec = ut->ut_tv.tv_usec; - if (strtimeval_iso(&tv, - ISO_8601_DATE | ISO_8601_TIME | ISO_8601_COMMAUSEC | - ISO_8601_TIMEZONE | ISO_8601_GMTIME, time_string, + if (strtimeval_iso(&tv, ISO_TIMESTAMP_COMMA_GT, time_string, sizeof(time_string)) != 0) return; cleanse(ut->ut_id); |