Mercurial > hg > octave-lyh > gnulib-hg
changeset 6554:99e42c0a09e1
Fix warning, reported by Bruno Haible <bruno@clisp.org> and patch by
Paul Eggert <eggert@CS.UCLA.EDU>.
author | Simon Josefsson <simon@josefsson.org> |
---|---|
date | Thu, 12 Jan 2006 08:59:35 +0000 |
parents | 8041d378a5a1 |
children | ed2b5c29e4cb |
files | lib/ChangeLog lib/base64.c |
diffstat | 2 files changed, 16 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- 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.
--- 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 @@ 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