diff options
author | Eric Blake <ebb9@byu.net> | 2008-02-23 09:58:03 -0700 |
---|---|---|
committer | Eric Blake <ebb9@byu.net> | 2008-02-23 09:58:03 -0700 |
commit | 9d400bc11d96c313d041e73b8f7b9a2d069d1ae5 (patch) | |
tree | 41bbf36cbf50bf93103f9e2c9794f5917317a079 | |
parent | c91769acf89e163c06e86be0f17022572f33bbab (diff) | |
download | m4-9d400bc11d96c313d041e73b8f7b9a2d069d1ae5.tar.gz |
Use size_t consistently for string length truncation.
* src/m4.h (max_debug_argument_length): Change type to size_t.
(shipout_string_trunc, arg_print): Change parameter type.
* src/debug.c (trace_format, trace_pre): Adjust all callers.
* src/input.c (input_print): Likewise.
* src/m4.c (max_debug_argument_length, main): Likewise.
* src/macro.c (arg_print): Likewise.
* src/output.c (shipout_string_trunc): Likewise.
Reported by Ralf Wildenhues.
Signed-off-by: Eric Blake <ebb9@byu.net>
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | src/debug.c | 6 | ||||
-rw-r--r-- | src/input.c | 2 | ||||
-rw-r--r-- | src/m4.c | 9 | ||||
-rw-r--r-- | src/m4.h | 6 | ||||
-rw-r--r-- | src/macro.c | 4 | ||||
-rw-r--r-- | src/output.c | 4 |
7 files changed, 26 insertions, 15 deletions
@@ -1,5 +1,15 @@ 2008-02-23 Eric Blake <ebb9@byu.net> + Use size_t consistently for string length truncation. + * src/m4.h (max_debug_argument_length): Change type to size_t. + (shipout_string_trunc, arg_print): Change parameter type. + * src/debug.c (trace_format, trace_pre): Adjust all callers. + * src/input.c (input_print): Likewise. + * src/m4.c (max_debug_argument_length, main): Likewise. + * src/macro.c (arg_print): Likewise. + * src/output.c (shipout_string_trunc): Likewise. + Reported by Ralf Wildenhues. + s/obstack_print/shipout_string_trunc/. * src/m4.h (obstack_print): Rename... (shipout_string_trunc): ...to this, to leave obstack_ prefix for diff --git a/src/debug.c b/src/debug.c index 1c0c99bb..46e1306f 100644 --- a/src/debug.c +++ b/src/debug.c @@ -248,7 +248,7 @@ trace_format (const char *fmt, ...) char ch; int d; const char *s; - int maxlen; + size_t maxlen; va_start (args, fmt); @@ -260,7 +260,7 @@ trace_format (const char *fmt, ...) if (ch == '\0') break; - maxlen = INT_MAX; + maxlen = SIZE_MAX; switch (*fmt++) { case 'B': @@ -364,7 +364,7 @@ trace_pre (const char *name, int id, macro_arguments *argv) if (arg_argc (argv) > 1 && (debug_level & DEBUG_TRACE_ARGS)) { - int len = max_debug_argument_length; + size_t len = max_debug_argument_length; trace_format ("("); arg_print (&trace, argv, 1, (debug_level & DEBUG_TRACE_QUOTE) ? &curr_quote : NULL, diff --git a/src/input.c b/src/input.c index e2d332a5..9d8b8f39 100644 --- a/src/input.c +++ b/src/input.c @@ -680,7 +680,7 @@ pop_wrapup (void) void input_print (struct obstack *obs, const input_block *input) { - int maxlen = max_debug_argument_length; + size_t maxlen = max_debug_argument_length; token_chain *chain; assert (input); @@ -47,7 +47,7 @@ int no_gnu_extensions = 0; int prefix_all_builtins = 0; /* Max length of arguments in trace output (-lsize). */ -int max_debug_argument_length = INT_MAX; +size_t max_debug_argument_length = SIZE_MAX; /* Suppress warnings about missing arguments. */ int suppress_warnings = 0; @@ -572,9 +572,10 @@ main (int argc, char *const *argv, char *const *envp) break; case 'l': - max_debug_argument_length = atoi (optarg); - if (max_debug_argument_length <= 0) - max_debug_argument_length = INT_MAX; + { + int tmp = atoi (optarg); + max_debug_argument_length = tmp <= 0 ? SIZE_MAX : (size_t) tmp; + } break; case 'o': @@ -129,7 +129,7 @@ extern int debug_level; /* -d */ extern size_t hash_table_size; /* -H */ extern int no_gnu_extensions; /* -G */ extern int prefix_all_builtins; /* -P */ -extern int max_debug_argument_length; /* -l */ +extern size_t max_debug_argument_length;/* -l */ extern int suppress_warnings; /* -Q */ extern int warning_status; /* -E */ extern int nesting_limit; /* -L */ @@ -424,7 +424,7 @@ void output_init (void); void output_exit (void); void output_text (const char *, int); void divert_text (struct obstack *, const char *, int, int); -bool shipout_string_trunc (struct obstack *, const char *, size_t, int *); +bool shipout_string_trunc (struct obstack *, const char *, size_t, size_t *); void make_diversion (int); void insert_diversion (int); void insert_file (FILE *); @@ -500,7 +500,7 @@ size_t arg_len (macro_arguments *, unsigned int); builtin_func *arg_func (macro_arguments *, unsigned int); struct obstack *arg_scratch (void); bool arg_print (struct obstack *, macro_arguments *, unsigned int, - const string_pair *, bool, const char *, int *, bool); + const string_pair *, bool, const char *, size_t *, bool); macro_arguments *make_argv_ref (macro_arguments *, const char *, size_t, bool, bool); void push_arg (struct obstack *, macro_arguments *, unsigned int); diff --git a/src/macro.c b/src/macro.c index 366584ac..0846f8dd 100644 --- a/src/macro.c +++ b/src/macro.c @@ -1194,9 +1194,9 @@ arg_scratch (void) bool arg_print (struct obstack *obs, macro_arguments *argv, unsigned int index, const string_pair *quotes, bool flatten, const char *sep, - int *max_len, bool quote_each) + size_t *max_len, bool quote_each) { - int len = max_len ? *max_len : INT_MAX; + size_t len = max_len ? *max_len : INT_MAX; unsigned int i; token_data *token; token_chain *chain; diff --git a/src/output.c b/src/output.c index 56ac1f42..7b2d6de3 100644 --- a/src/output.c +++ b/src/output.c @@ -579,9 +579,9 @@ divert_text (struct obstack *obs, const char *text, int length, int line) appropriate. */ bool shipout_string_trunc (struct obstack *obs, const char *str, size_t len, - int *max_len) + size_t *max_len) { - int max = max_len ? *max_len : INT_MAX; + size_t max = max_len ? *max_len : INT_MAX; if (len == SIZE_MAX) len = strlen (str); |