From 1eccb9ebfa5fcc76c78976bc504e9bfd2e78f77c Mon Sep 17 00:00:00 2001 From: Simon Josefsson Date: Mon, 27 Jun 2005 22:05:57 +0000 Subject: [PATCH] 2005-06-28 Simon Josefsson * 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 . * base64.h: Indent. --- lib/ChangeLog | 13 +++++++++++++ lib/base64.c | 26 +++++++++++++++----------- lib/base64.h | 6 +++--- 3 files changed, 31 insertions(+), 14 deletions(-) diff --git a/lib/ChangeLog b/lib/ChangeLog index f3a85a21d..31c6ceb14 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,16 @@ +2005-06-28 Simon Josefsson + + * 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 . + + * base64.h: Indent. + +2005-06-25 Simon Josefsson + + * check_version.h, check_version.c: New file. + 2005-06-24 Paul Eggert * canon-host.c (canon-host): Append trailing "," to 0 in diff --git a/lib/base64.c b/lib/base64.c index 2c5f539f8..48f3dc7a4 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 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 @@ void 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 @@ isbase64 (char ch) 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 @@ base64_decode (const char *restrict in, size_t inlen, 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. diff --git a/lib/base64.h b/lib/base64.h index 29bbb8d8f..b300917af 100644 --- 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 void base64_encode (const char *restrict in, size_t inlen, 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 */ -- 2.11.0