diff options
author | Simon Josefsson <simon@josefsson.org> | 2006-01-12 08:59:35 +0000 |
---|---|---|
committer | Simon Josefsson <simon@josefsson.org> | 2006-01-12 08:59:35 +0000 |
commit | d4b2af840d77f7051dc04d082f13ecb8b60d972b (patch) | |
tree | 7bd82303c4b01d8889f18ac0616fe8b938cd55b0 | |
parent | d6471083ad248f2f9b607ae07fd7768f290b1758 (diff) | |
download | gnulib-d4b2af840d77f7051dc04d082f13ecb8b60d972b.tar.gz |
Fix warning, reported by Bruno Haible <bruno@clisp.org> and patch by
Paul Eggert <eggert@CS.UCLA.EDU>.
-rw-r--r-- | lib/ChangeLog | 5 | ||||
-rw-r--r-- | lib/base64.c | 13 |
2 files changed, 16 insertions, 2 deletions
diff --git a/lib/ChangeLog b/lib/ChangeLog index 6b344d9035..7f96e7a4df 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,8 @@ +2006-01-12 Simon Josefsson <jas@extundo.com> + + * base64.c: Fix warning, reported by Bruno Haible + <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>. + 2006-01-11 Paul Eggert <eggert@cs.ucla.edu> Sync from coreutils. diff --git a/lib/base64.c b/lib/base64.c index f1e0604503..2a68952d7c 100644 --- a/lib/base64.c +++ b/lib/base64.c @@ -1,5 +1,5 @@ /* base64.c -- Encode binary data using printable characters. - Copyright (C) 1999, 2000, 2001, 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 1999, 2000, 2001, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -50,6 +50,9 @@ /* Get malloc. */ #include <stdlib.h> +/* Get UCHAR_MAX. */ +#include <limits.h> + /* C89 compliant way to cast 'char' to 'unsigned char'. */ static inline unsigned char to_uchar (char ch) @@ -278,10 +281,16 @@ static const signed char b64[0x100] = { B64 (252), B64 (253), B64 (254), B64 (255) }; +#if UCHAR_MAX == 255 +# define uchar_in_range(c) true +#else +# define uchar_in_range(c) ((c) <= 255) +#endif + bool isbase64 (char ch) { - return to_uchar (ch) <= 255 && 0 <= b64[to_uchar (ch)]; + return uchar_in_range (to_uchar (ch)) && 0 <= b64[to_uchar (ch)]; } /* Decode base64 encoded input array IN of length INLEN to output |