1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-07-28 19:39:52 +02:00

maint: accommodate gcc's -Wstrict-overflow option

* src/factor.c (factor_using_pollard_rho): Change type of "i"
to unsigned to avoid warning from gcc's -Wstrict-overflow.
* src/expr.c: Use an unsigned intermediate.
* src/dircolors.c (main): Reorder operations to avoid the risk of
pointer overflow.
* src/tr.c (squeeze_filter): Change NOT_A_CHAR from an anonymous
"enum" to an "int", to avoid this warning:
tr.c:1624:10: error: assuming signed overflow does not occur when
  simplifying conditional to constant [-Werror=strict-overflow]
* src/pr.c (main): Make index "i" unsigned.
This commit is contained in:
Jim Meyering
2011-05-25 12:29:18 +02:00
parent d7e2365203
commit 419b6c9d42
5 changed files with 10 additions and 7 deletions
+1 -1
View File
@@ -456,7 +456,7 @@ to select a shell syntax are mutually exclusive"));
if (print_database)
{
char const *p = G_line;
while (p < G_line + sizeof G_line)
while (p - G_line < sizeof G_line)
{
puts (p);
p += strlen (p) + 1;
+5 -3
View File
@@ -312,15 +312,17 @@ main (int argc, char **argv)
parse_long_options (argc, argv, PROGRAM_NAME, PACKAGE_NAME, VERSION,
usage, AUTHORS, (char const *) NULL);
/* The above handles --help and --version.
Since there is no other invocation of getopt, handle `--' here. */
if (argc > 1 && STREQ (argv[1], "--"))
unsigned int u_argc = argc;
if (1 < u_argc && STREQ (argv[1], "--"))
{
--argc;
--u_argc;
++argv;
}
if (argc <= 1)
if (u_argc <= 1)
{
error (0, 0, _("missing operand"));
usage (EXPR_INVALID);
+2 -1
View File
@@ -160,7 +160,7 @@ factor_using_pollard_rho (mpz_t n, int a_int)
mpz_t a;
mpz_t g;
mpz_t t1, t2;
int k, l, c, i;
int k, l, c;
debug ("[pollard-rho (%d)] ", a_int);
@@ -204,6 +204,7 @@ S2:
mpz_set (x1, x);
k = l;
l = 2 * l;
unsigned int i;
for (i = 0; i < k; i++)
{
mpz_mul (x, x, x); mpz_add (x, x, a); mpz_mod (x, x, n);
+1 -1
View File
@@ -1165,7 +1165,7 @@ main (int argc, char **argv)
print_files (n_files, file_names);
else
{
int i;
unsigned int i;
for (i = 0; i < n_files; i++)
print_files (1, &file_names[i]);
}
+1 -1
View File
@@ -1555,7 +1555,7 @@ squeeze_filter (char *buf, size_t size, size_t (*reader) (char *, size_t))
{
/* A value distinct from any character that may have been stored in a
buffer as the result of a block-read in the function squeeze_filter. */
enum { NOT_A_CHAR = CHAR_MAX + 1 };
const int NOT_A_CHAR = INT_MAX;
int char_to_squeeze = NOT_A_CHAR;
size_t i = 0;