summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>2005-08-31 07:51:04 +0000
committerJim Meyering <jim@meyering.net>2005-08-31 07:51:04 +0000
commitdb875eadae0498da50f8dc5e4d8203d220722752 (patch)
tree387783c272684b46415d671a8797ca94f437571d
parent30a8d137dd5eb7073933b856038b09c8abae9d79 (diff)
downloadcoreutils-db875eadae0498da50f8dc5e4d8203d220722752.tar.xz
(quotearg_n_options): Change code to be suboptimal, in
order to avoid an unsuppressible warning from gcc on 64-bit systems.
-rw-r--r--lib/quotearg.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/quotearg.c b/lib/quotearg.c
index 13fcf0b51..a66f882b0 100644
--- a/lib/quotearg.c
+++ b/lib/quotearg.c
@@ -1,6 +1,6 @@
/* quotearg.c - quote arguments for output
- Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004 Free Software
+ Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2005 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
@@ -581,7 +581,12 @@ quotearg_n_options (int n, char const *arg, size_t argsize,
if (nslots <= n0)
{
- unsigned int n1 = n0 + 1;
+ /* FIXME: technically, the type of n1 should be `unsigned int',
+ but that evokes an unsuppressible warning from gcc-4.0.1 and
+ older. If gcc ever provides an option to suppress that warning,
+ revert to the original type, so that the test in xalloc_oversized
+ is once again performed only at compile time. */
+ size_t n1 = n0 + 1;
if (xalloc_oversized (n1, sizeof *slotvec))
xalloc_die ();