summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLukas Straub <lukasstraub2@web.de>2022-04-05 16:43:30 +0000
committerPablo Neira Ayuso <pablo@netfilter.org>2022-04-05 21:59:41 +0200
commit4460b839b945aeb6eb861012dbe41b76974168f6 (patch)
treea31928611d96ca55d46d92529f71cdf23836f02c
parent0210097879c0194477183b575867cf8c413a93ef (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.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/meta.c b/src/meta.c
index c0e2608d..80ace25b 100644
--- a/src/meta.c
+++ b/src/meta.c
@@ -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);