summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Josefsson <simon@josefsson.org>2006-01-12 08:59:35 +0000
committerSimon Josefsson <simon@josefsson.org>2006-01-12 08:59:35 +0000
commitd4b2af840d77f7051dc04d082f13ecb8b60d972b (patch)
tree7bd82303c4b01d8889f18ac0616fe8b938cd55b0
parentd6471083ad248f2f9b607ae07fd7768f290b1758 (diff)
downloadgnulib-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/ChangeLog5
-rw-r--r--lib/base64.c13
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