Avoid TYPE_MAXIMUM, it depends on undefined behavior.
This commit is contained in:
parent
664441867e
commit
4d3d7e27e9
13
gnu/dist/grep/src/grep.c
vendored
13
gnu/dist/grep/src/grep.c
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: grep.c,v 1.15 2014/06/12 07:42:46 dholland Exp $ */
|
||||
/* $NetBSD: grep.c,v 1.16 2015/09/12 19:05:11 joerg Exp $ */
|
||||
|
||||
/* grep.c - main driver file for grep.
|
||||
Copyright 1992, 1997-1999, 2000 Free Software Foundation, Inc.
|
||||
@ -53,6 +53,13 @@ struct stats
|
||||
struct stat stat;
|
||||
};
|
||||
|
||||
#include <limits.h>
|
||||
#define MAX_OFF_T (sizeof(off_t) == sizeof(char) ? INT_MAX : \
|
||||
(sizeof(off_t) == sizeof(short) ? SHRT_MAX : \
|
||||
(sizeof(off_t) == sizeof(int) ? INT_MAX : \
|
||||
(sizeof(off_t) == sizeof(long) ? LONG_MAX : \
|
||||
(sizeof(off_t) == sizeof(long long) ? LLONG_MAX : INTMAX_MAX)))))
|
||||
|
||||
/* base of chain of stat buffers, used to detect directory loops */
|
||||
static struct stats stats_base;
|
||||
|
||||
@ -1341,7 +1348,7 @@ main (int argc, char **argv)
|
||||
eolbyte = '\n';
|
||||
filename_mask = ~0;
|
||||
|
||||
max_count = TYPE_MAXIMUM (off_t);
|
||||
max_count = MAX_OFF_T;
|
||||
|
||||
/* The value -1 means to use DEFAULT_CONTEXT. */
|
||||
out_after = out_before = -1;
|
||||
@ -1516,7 +1523,7 @@ main (int argc, char **argv)
|
||||
break;
|
||||
/* Fall through. */
|
||||
case LONGINT_OVERFLOW:
|
||||
max_count = TYPE_MAXIMUM (off_t);
|
||||
max_count = MAX_OFF_T;
|
||||
break;
|
||||
|
||||
default:
|
||||
|
Loading…
Reference in New Issue
Block a user