After further discussion with Bruno I installed this into coreutils:
2006-08-18 Paul Eggert <[EMAIL PROTECTED]>
* src/system.h (select_plural): Reduce by 1000000, not 1000, since
the CVS gettext manual now suggests 1000000.
Index: src/system.h
===================================================================
RCS file: /fetish/cu/src/system.h,v
retrieving revision 1.151
diff -p -u -r1.151 system.h
--- src/system.h 16 Aug 2006 19:36:46 -0000 1.151
+++ src/system.h 18 Aug 2006 18:12:12 -0000
@@ -388,7 +388,10 @@ static inline unsigned char to_uchar (ch
static inline unsigned long int
select_plural (uintmax_t n)
{
- return (n <= ULONG_MAX ? n : n % 1000 + 1000);
+ /* Reduce by a power of ten, but keep it away from zero. The
+ gettext manual says 1000000 should be safe. */
+ enum { PLURAL_REDUCER = 1000000 };
+ return (n <= ULONG_MAX ? n : n % PLURAL_REDUCER + PLURAL_REDUCER);
}
#define STREQ(a, b) (strcmp ((a), (b)) == 0)
_______________________________________________
Bug-coreutils mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-coreutils