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.
This commit is contained in:
@@ -853,7 +853,7 @@ struct option_locus
|
|||||||
{
|
{
|
||||||
enum option_source source; /* Option origin */
|
enum option_source source; /* Option origin */
|
||||||
char const *name; /* File or variable name */
|
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
|
struct option_locus *prev; /* Previous occurrence of the option of same
|
||||||
class */
|
class */
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -206,8 +206,8 @@ names_parse_opt (int key, char *arg, struct argp_state *state)
|
|||||||
struct tar_args *args = state->input;
|
struct tar_args *args = state->input;
|
||||||
if (args->loc->source == OPTS_FILE)
|
if (args->loc->source == OPTS_FILE)
|
||||||
{
|
{
|
||||||
error (0, 0, _("%s:%lu: unrecognized option"), args->loc->name,
|
error (0, 0, _("%s:%jd: unrecognized option"), args->loc->name,
|
||||||
(unsigned long) args->loc->line);
|
args->loc->line);
|
||||||
set_exit_status (TAREXIT_FAILURE);
|
set_exit_status (TAREXIT_FAILURE);
|
||||||
}
|
}
|
||||||
return ARGP_ERR_UNKNOWN;
|
return ARGP_ERR_UNKNOWN;
|
||||||
@@ -651,7 +651,7 @@ struct name_elt /* A name_array element. */
|
|||||||
struct /* File, if type == NELT_FILE */
|
struct /* File, if type == NELT_FILE */
|
||||||
{
|
{
|
||||||
const char *name;/* File name */
|
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 */
|
int term; /* File name terminator in the list */
|
||||||
bool verbatim; /* Verbatim handling of file names: no white-space
|
bool verbatim; /* Verbatim handling of file names: no white-space
|
||||||
trimming, no option processing */
|
trimming, no option processing */
|
||||||
|
|||||||
@@ -2224,8 +2224,8 @@ parse_opt (int key, char *arg, struct argp_state *state)
|
|||||||
|
|
||||||
case ARGP_KEY_ERROR:
|
case ARGP_KEY_ERROR:
|
||||||
if (args->loc->source == OPTS_FILE)
|
if (args->loc->source == OPTS_FILE)
|
||||||
error (0, 0, _("%s:%lu: location of the error"), args->loc->name,
|
error (0, 0, _("%s:%jd: location of the error"), args->loc->name,
|
||||||
(unsigned long) args->loc->line);
|
args->loc->line);
|
||||||
else if (args->loc->source == OPTS_ENVIRON)
|
else if (args->loc->source == OPTS_ENVIRON)
|
||||||
error (0, 0, _("error parsing %s"), args->loc->name);
|
error (0, 0, _("error parsing %s"), args->loc->name);
|
||||||
exit (EX_USAGE);
|
exit (EX_USAGE);
|
||||||
|
|||||||
Reference in New Issue
Block a user