changeset 5936:c1d164e8c502

2005-06-28 Simon Josefsson <jas@extundo.com> * base64.c (base64_encode): Indent. Rename 'b64' to avoid collision with global variable. Better indentation. Don't increment buffer pointer beyond buffer end. Based on comments from Paul Eggert <eggert@cs.ucla.edu>. * base64.h: Indent.
author Simon Josefsson <simon@josefsson.org>
date Mon, 27 Jun 2005 22:05:57 +0000
parents 3caa3cac91fc
children 5e8346b0cc53
files lib/ChangeLog lib/base64.c lib/base64.h
diffstat 3 files changed, 31 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,3 +1,16 @@
+2005-06-28  Simon Josefsson  <jas@extundo.com>
+
+	* base64.c (base64_encode): Indent.  Rename 'b64' to avoid
+	collision with global variable.  Better indentation.  Don't
+	increment buffer pointer beyond buffer end.  Based on comments
+	from Paul Eggert <eggert@cs.ucla.edu>.
+
+	* base64.h: Indent.
+
+2005-06-25  Simon Josefsson  <jas@extundo.com>
+
+	* check_version.h, check_version.c: New file.
+
 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
 
 	* canon-host.c (canon-host): Append trailing "," to 0 in
--- 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 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2000, 2001, 2004, 2005 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
@@ -65,30 +65,34 @@
 base64_encode (const char *restrict in, size_t inlen,
 	       char *restrict out, size_t outlen)
 {
-  const char b64[64] =
+  const char b64str[64] =
     "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
 
   while (inlen && outlen)
     {
-      *out++ = b64[to_uchar (in[0]) >> 2];
+      *out++ = b64str[to_uchar (in[0]) >> 2];
       if (!--outlen)
 	break;
-      *out++ = b64[((to_uchar (in[0]) << 4)
-		    + (--inlen ? to_uchar (in[1]) >> 4 : 0)) & 0x3f];
+      *out++ = b64str[((to_uchar (in[0]) << 4)
+		       + (--inlen ? to_uchar (in[1]) >> 4 : 0))
+		      & 0x3f];
       if (!--outlen)
 	break;
       *out++ =
 	(inlen
-	 ? b64[((to_uchar (in[1]) << 2)
-		+ (--inlen ? to_uchar (in[2]) >> 6 : 0)) & 0x3f] : '=');
+	 ? b64str[((to_uchar (in[1]) << 2)
+		   + (--inlen ? to_uchar (in[2]) >> 6 : 0))
+		  & 0x3f]
+	 : '=');
       if (!--outlen)
 	break;
-      *out++ = inlen ? b64[to_uchar (in[2]) & 0x3f] : '=';
+      *out++ = inlen ? b64str[to_uchar (in[2]) & 0x3f] : '=';
       if (!--outlen)
 	break;
       if (inlen)
 	inlen--;
-      in += 3;
+      if (inlen)
+	in += 3;
     }
 
   if (outlen)
@@ -289,7 +293,7 @@
    encountered, decoding is stopped and false is returned. */
 bool
 base64_decode (const char *restrict in, size_t inlen,
-	       char *restrict out, size_t * outlen)
+	       char *restrict out, size_t *outlen)
 {
   size_t outleft = *outlen;
 
@@ -376,7 +380,7 @@
    undefined. */
 bool
 base64_decode_alloc (const char *in, size_t inlen, char **out,
-		     size_t * outlen)
+		     size_t *outlen)
 {
   /* This may allocate a few bytes too much, depending on input,
      but it's not worth the extra CPU time to compute the exact amount.
--- a/lib/base64.h
+++ b/lib/base64.h
@@ -1,5 +1,5 @@
 /* base64.h -- Encode binary data using printable characters.
-   Copyright (C) 2004 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
    Written by Simon Josefsson.
 
    This program is free software; you can redistribute it and/or modify
@@ -37,9 +37,9 @@
 extern size_t base64_encode_alloc (const char *in, size_t inlen, char **out);
 
 extern bool base64_decode (const char *restrict in, size_t inlen,
-			   char *restrict out, size_t * outlen);
+			   char *restrict out, size_t *outlen);
 
 extern bool base64_decode_alloc (const char *in, size_t inlen,
-				 char **out, size_t * outlen);
+				 char **out, size_t *outlen);
 
 #endif /* BASE64_H */