+2020-12-06 Bruno Haible <bruno@clisp.org>
+
+ parse-datetime: Use idx_t for nonnegative ptrdiff_t variables.
+ * lib/parse-datetime.y: Include idx.h.
+ (textint): Mark digits as nonnegative.
+ (parser_control): Mark dates_seen, days_seen, local_zones_seen,
+ dsts_seen, times_seen, zones_seen as nonnegative.
+ (lookup_word): Mark wordlen as nonnegative.
+ (yylex): Mark count as nonnegative.
+ (parse_datetime2): Mark tzsize as nonnegative.
+ * modules/parse-datetime (Depends-on): Add idx.
+
2020-12-06 Bruno Haible <bruno@clisp.org>
fnmatch: Use idx_t for nonnegative ptrdiff_t variables.
#include "parse-datetime.h"
+#include "idx.h"
#include "intprops.h"
#include "timespec.h"
#include "verify.h"
{
bool negative;
intmax_t value;
- ptrdiff_t digits;
+ idx_t digits;
} textint;
/* An entry in the lexical lookup table. */
/* Presence or counts of nonterminals of various flavors parsed so far. */
bool timespec_seen;
bool rels_seen;
- ptrdiff_t dates_seen;
- ptrdiff_t days_seen;
- ptrdiff_t local_zones_seen;
- ptrdiff_t dsts_seen;
- ptrdiff_t times_seen;
- ptrdiff_t zones_seen;
+ idx_t dates_seen;
+ idx_t days_seen;
+ idx_t local_zones_seen;
+ idx_t dsts_seen;
+ idx_t times_seen;
+ idx_t zones_seen;
bool year_seen;
/* Print debugging output to stderr. */
{
char *p;
char *q;
- ptrdiff_t wordlen;
+ idx_t wordlen;
table const *tp;
bool period_found;
bool abbrev;
if (c != '(')
return to_uchar (*pc->input++);
- ptrdiff_t count = 0;
+ idx_t count = 0;
do
{
c = *pc->input++;
if (strncmp (p, "TZ=\"", 4) == 0)
{
char const *tzbase = p + 4;
- ptrdiff_t tzsize = 1;
+ idx_t tzsize = 1;
char const *s;
for (s = tzbase; *s; s++, tzsize++)