From d4b2af840d77f7051dc04d082f13ecb8b60d972b Mon Sep 17 00:00:00 2001 From: Simon Josefsson Date: Thu, 12 Jan 2006 08:59:35 +0000 Subject: [PATCH] Fix warning, reported by Bruno Haible and patch by Paul Eggert . --- lib/ChangeLog | 5 +++++ 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 + + * base64.c: Fix warning, reported by Bruno Haible + and patch by Paul Eggert . + 2006-01-11 Paul Eggert 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 +/* Get UCHAR_MAX. */ +#include + /* 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 -- 2.30.2