diff --git a/gnu/dist/grep/lib/getopt.c b/gnu/dist/grep/lib/getopt.c index 6d7b10b3e9..f3d69bc07e 100644 --- a/gnu/dist/grep/lib/getopt.c +++ b/gnu/dist/grep/lib/getopt.c @@ -431,7 +431,7 @@ _getopt_initialize (argc, argv, optstring) else { const char *orig_str = __getopt_nonoption_flags; - int len = nonoption_flags_max_len = strlen (orig_str); + size_t len = nonoption_flags_max_len = strlen (orig_str); if (nonoption_flags_max_len < argc) nonoption_flags_max_len = argc; __getopt_nonoption_flags = diff --git a/gnu/dist/grep/lib/regex.c b/gnu/dist/grep/lib/regex.c index 169890f491..ac0512da38 100644 --- a/gnu/dist/grep/lib/regex.c +++ b/gnu/dist/grep/lib/regex.c @@ -1127,7 +1127,7 @@ print_double_string (where, string1, size1, string2, size2) int size1; int size2; { - int this_char; + ptrdiff_t this_char; if (where == NULL) printf ("(null)"); diff --git a/gnu/dist/grep/src/ansi2knr.c b/gnu/dist/grep/src/ansi2knr.c index bacb6f9894..e014720825 100644 --- a/gnu/dist/grep/src/ansi2knr.c +++ b/gnu/dist/grep/src/ansi2knr.c @@ -461,7 +461,7 @@ test1(buf) } { char *id = p; - int len; + ptrdiff_t len; /* * Check for identifier1(identifier2) and not * identifier1(void), or identifier1(identifier2, xxxx). diff --git a/gnu/dist/grep/src/dfa.c b/gnu/dist/grep/src/dfa.c index 9220bfeb46..7c4050b71e 100644 --- a/gnu/dist/grep/src/dfa.c +++ b/gnu/dist/grep/src/dfa.c @@ -334,9 +334,10 @@ static int hard_LC_COLLATE; /* Nonzero if LC_COLLATE is hard. */ #ifdef MBS_SUPPORT /* These variables are used only if (MB_CUR_MAX > 1). */ static mbstate_t mbs; /* Mbstate for mbrlen(). */ -static int cur_mb_len; /* Byte length of the current scanning - multibyte character. */ -static int cur_mb_index; /* Byte index of the current scanning multibyte +static ssize_t cur_mb_len; /* Byte length of the current scanning + multibyte character. Must also handle + negative result from mbrlen(). */ +static ssize_t cur_mb_index; /* Byte index of the current scanning multibyte character. singlebyte character : cur_mb_index = 0 @@ -369,7 +370,7 @@ static unsigned char const *buf_end; /* refference to end in dfaexec(). */ /* This function update cur_mb_len, and cur_mb_index. p points current lexptr, len is the remaining buffer length. */ static void -update_mb_len_index (unsigned char const *p, int len) +update_mb_len_index (unsigned char const *p, size_t len) { /* If last character is a part of a multibyte character, we update cur_mb_index. */ @@ -2465,7 +2466,7 @@ match_mb_charset (struct dfa *d, int s, position pos, int index) int match; /* Flag which represent that matching succeed. */ int match_len; /* Length of the character (or collating element) with which this operator match. */ - int op_len; /* Length of the operator. */ + size_t op_len; /* Length of the operator. */ char buffer[128]; wchar_t wcbuf[6]; diff --git a/gnu/dist/grep/src/grep.c b/gnu/dist/grep/src/grep.c index 3051d52037..5bc636eb0c 100644 --- a/gnu/dist/grep/src/grep.c +++ b/gnu/dist/grep/src/grep.c @@ -1286,9 +1286,9 @@ int main (int argc, char **argv) { char *keys; - size_t keycc, oldcc, keyalloc; + size_t cc, keycc, oldcc, keyalloc; int with_filenames; - int opt, cc, status; + int opt, status; int default_context; FILE *fp; extern char *optarg; diff --git a/gnu/dist/grep/src/search.c b/gnu/dist/grep/src/search.c index b7768f8c4d..6cb836c15f 100644 --- a/gnu/dist/grep/src/search.c +++ b/gnu/dist/grep/src/search.c @@ -153,7 +153,7 @@ check_multibyte_string(char const *buf, size_t size) { char *mb_properties = malloc(size); mbstate_t cur_state; - int i; + size_t i; memset(&cur_state, 0, sizeof(mbstate_t)); memset(mb_properties, 0, sizeof(char)*size); for (i = 0; i < size ;) @@ -339,7 +339,8 @@ EGexecute (char const *buf, size_t size, size_t *match_size, int exact) { register char const *buflim, *beg, *end; char eol = eolbyte; - int backref, start, len; + int backref; + ptrdiff_t start, len; struct kwsmatch kwsm; size_t i; #ifdef MBS_SUPPORT