diff options
author | Lukas Straub <lukasstraub2@web.de> | 2022-04-05 16:43:30 +0000 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2022-04-05 21:59:41 +0200 |
commit | 4460b839b945aeb6eb861012dbe41b76974168f6 (patch) | |
tree | a31928611d96ca55d46d92529f71cdf23836f02c | |
parent | 0210097879c0194477183b575867cf8c413a93ef (diff) |
meta: fix compiler warning in date_type_parse()
After commit 0210097879 ("meta: time: use uint64_t instead of time_t")
there is a compiler warning due to comparison of the return value from
parse_iso_date with -1, which is now implicitly cast to uint64_t.
Fix this by making parse_iso_date take a pointer to the tstamp and
return bool instead.
Fixes: 0210097879 ("meta: time: use uint64_t instead of time_t")
Signed-off-by: Lukas Straub <lukasstraub2@web.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r-- | src/meta.c | 10 |
1 files changed, 6 insertions, 4 deletions
@@ -405,7 +405,7 @@ static void date_type_print(const struct expr *expr, struct output_ctx *octx) nft_print(octx, "Error converting timestamp to printed time"); } -static time_t parse_iso_date(const char *sym) +static bool parse_iso_date(uint64_t *tstamp, const char *sym) { struct tm tm, *cur_tm; time_t ts; @@ -419,7 +419,7 @@ static time_t parse_iso_date(const char *sym) if (strptime(sym, "%F", &tm)) goto success; - return -1; + return false; success: /* @@ -436,7 +436,9 @@ success: return ts; /* Substract tm_gmtoff to get the current time */ - return ts - cur_tm->tm_gmtoff; + *tstamp = ts - cur_tm->tm_gmtoff; + + return true; } static struct error_record *date_type_parse(struct parse_ctx *ctx, @@ -446,7 +448,7 @@ static struct error_record *date_type_parse(struct parse_ctx *ctx, const char *endptr = sym->identifier; uint64_t tstamp; - if ((tstamp = parse_iso_date(sym->identifier)) != -1) + if (parse_iso_date(&tstamp, sym->identifier)) goto success; tstamp = strtoul(sym->identifier, (char **) &endptr, 10); |