From 09aec02e3209e39fd22635d0be8874a34d70cff8 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Mon, 12 Aug 2024 16:18:16 -0700 Subject: [PATCH] Use intmax_t, not size_t, for input line numbers This works better on platforms where SIZE_MAX < OFF_MAX. * src/common.h (struct common locus): * src/names.c (struct name_elt): Use intmax_t for line numbers. All uses changed. --- src/common.h | 2 +- src/names.c | 6 +++--- src/tar.c | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/common.h b/src/common.h index 361a62eb..8fdd88dc 100644 --- a/src/common.h +++ b/src/common.h @@ -853,7 +853,7 @@ struct option_locus { enum option_source source; /* Option origin */ char const *name; /* File or variable name */ - size_t line; /* Number of input line if source is OPTS_FILE */ + intmax_t line; /* Number of input line if source is OPTS_FILE */ struct option_locus *prev; /* Previous occurrence of the option of same class */ }; diff --git a/src/names.c b/src/names.c index 143fbef7..bdb7519f 100644 --- a/src/names.c +++ b/src/names.c @@ -206,8 +206,8 @@ names_parse_opt (int key, char *arg, struct argp_state *state) struct tar_args *args = state->input; if (args->loc->source == OPTS_FILE) { - error (0, 0, _("%s:%lu: unrecognized option"), args->loc->name, - (unsigned long) args->loc->line); + error (0, 0, _("%s:%jd: unrecognized option"), args->loc->name, + args->loc->line); set_exit_status (TAREXIT_FAILURE); } return ARGP_ERR_UNKNOWN; @@ -651,7 +651,7 @@ struct name_elt /* A name_array element. */ struct /* File, if type == NELT_FILE */ { const char *name;/* File name */ - size_t line; /* Input line number */ + intmax_t line; /* Input line number */ int term; /* File name terminator in the list */ bool verbatim; /* Verbatim handling of file names: no white-space trimming, no option processing */ diff --git a/src/tar.c b/src/tar.c index 79b713a8..d69f12b9 100644 --- a/src/tar.c +++ b/src/tar.c @@ -2224,8 +2224,8 @@ parse_opt (int key, char *arg, struct argp_state *state) case ARGP_KEY_ERROR: if (args->loc->source == OPTS_FILE) - error (0, 0, _("%s:%lu: location of the error"), args->loc->name, - (unsigned long) args->loc->line); + error (0, 0, _("%s:%jd: location of the error"), args->loc->name, + args->loc->line); else if (args->loc->source == OPTS_ENVIRON) error (0, 0, _("error parsing %s"), args->loc->name); exit (EX_USAGE); -- 2.47.2