From: Simon Josefsson <simon@josefsson.org> Date: Thu, 12 Jan 2006 08:59:35 +0000 (+0000) Subject: Fix warning, reported by Bruno Haible <bruno@clisp.org> and patch by X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d4b2af840d77f7051dc04d082f13ecb8b60d972b;p=pspp Fix warning, reported by Bruno Haible <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>. --- 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