From 81f7ae4233b919c0c7aa055cb3a376c4cc4456d9 Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Tue, 31 Aug 2021 19:29:49 -0400 Subject: datetime: Find ends of arrays with sizeof() Before: $ wc -c @ 61256 @ After: $ wc -c @ 60616 @ --- diff --git a/src/datetime.c b/src/datetime.c index 15a6b83..0056017 100644 --- a/src/datetime.c +++ b/src/datetime.c @@ -74,7 +74,6 @@ static const char *DATETIME_DATE_FMTS_[] = { " %a, %b-%d ", /* Wed, Dec-31 */ " %a, %b/%d/%Y ", /* Wed, Dec/31/1969 */ " %a, %b/%d ", /* Wed, Dec/31 */ - NULL }; static const char *DATETIME_TIME_FMTS_[] = { " %I:%M:%S %p ", /* 7:00:01 PM */ @@ -85,7 +84,6 @@ static const char *DATETIME_TIME_FMTS_[] = { " %H%M%S ", /* 190001 */ " %I%M %p ", /* 700 PM */ " %H%M ", /* 1900 */ - NULL }; static const char *DATETIME_MISC_FMTS_[] = { /* ISO 8601: 1969-12-31 delimited by "T" */ @@ -101,7 +99,6 @@ static const char *DATETIME_MISC_FMTS_[] = { " %Y%m%d %H%M ", /* Wed Dec 31 19:00:01 1969 */ " %a %b %d %H:%M:%S %Y ", - NULL }; static void @@ -186,8 +183,8 @@ datetime_parse(const char *input, time_t *arg_sec) int date_fmt_len; int time_fmt_len; char *fmt_buf; - int d; - int t; + size_t d; + size_t t; char *end; struct tm arg_tm; @@ -200,9 +197,11 @@ datetime_parse(const char *input, time_t *arg_sec) return -1; } - for (d = 0; DATETIME_DATE_FMTS_[d] != NULL; ++d) { + for (d = 0; d < sizeof(DATETIME_DATE_FMTS_) / + sizeof(DATETIME_DATE_FMTS_[0]); ++d) { memcpy(fmt_buf, DATETIME_DATE_FMTS_[d], date_fmt_len); - for (t = 0; DATETIME_TIME_FMTS_[t] != NULL; ++t) { + for (t = 0; t < sizeof(DATETIME_TIME_FMTS_) / + sizeof(DATETIME_TIME_FMTS_[0]); ++t) { memcpy(fmt_buf + date_fmt_len, DATETIME_TIME_FMTS_[t], time_fmt_len); _datetime_reset_tm(&arg_tm); @@ -214,9 +213,11 @@ datetime_parse(const char *input, time_t *arg_sec) } } } - for (t = 0; DATETIME_TIME_FMTS_[t] != NULL; ++t) { + for (t = 0; t < sizeof(DATETIME_TIME_FMTS_) / + sizeof(DATETIME_TIME_FMTS_[0]); ++t) { memcpy(fmt_buf, DATETIME_TIME_FMTS_[t], time_fmt_len); - for (d = 0; DATETIME_DATE_FMTS_[d] != NULL; ++d) { + for (d = 0; d < sizeof(DATETIME_DATE_FMTS_) / + sizeof(DATETIME_DATE_FMTS_[0]); ++d) { memcpy(fmt_buf + time_fmt_len, DATETIME_DATE_FMTS_[d], date_fmt_len); _datetime_reset_tm(&arg_tm); @@ -228,7 +229,8 @@ datetime_parse(const char *input, time_t *arg_sec) } } } - for (d = 0; DATETIME_MISC_FMTS_[d] != NULL; ++d) { + for (d = 0; d < sizeof(DATETIME_MISC_FMTS_) / + sizeof(DATETIME_MISC_FMTS_[0]) ; ++d) { _datetime_reset_tm(&arg_tm); end = strptime(input, DATETIME_MISC_FMTS_[d], &arg_tm); if (end != NULL && *end == '\0') { -- cgit v0.9.1