You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by ag...@apache.org on 2020/04/03 10:16:22 UTC
[incubator-nuttx-apps] branch master updated: netutils/base64:
correct the buffer type
This is an automated email from the ASF dual-hosted git repository.
aguettouche pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx-apps.git
The following commit(s) were added to refs/heads/master by this push:
new 52abe14 netutils/base64: correct the buffer type
52abe14 is described below
commit 52abe148ce9307acdc929f7eebbe76a9078f23f3
Author: archer <an...@xiaomi.com>
AuthorDate: Fri Apr 3 18:16:12 2020 +0800
netutils/base64: correct the buffer type
---
netutils/codecs/base64.c | 57 +++++++++++++++++++++++++-----------------------
1 file changed, 30 insertions(+), 27 deletions(-)
diff --git a/netutils/codecs/base64.c b/netutils/codecs/base64.c
index b381551..442a06b 100644
--- a/netutils/codecs/base64.c
+++ b/netutils/codecs/base64.c
@@ -35,17 +35,17 @@
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
+ * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
****************************************************************************/
@@ -100,17 +100,19 @@ static FAR const char *base64_tab(bool websafe)
*
****************************************************************************/
-static FAR char *_base64_encode(FAR const char *src, size_t len,
- FAR char *dst, FAR size_t *out_len,
- bool websafe)
+static FAR unsigned char *_base64_encode(FAR const unsigned char *src,
+ size_t len,
+ FAR unsigned char *dst,
+ FAR size_t *out_len,
+ bool websafe)
{
- FAR char *out;
- FAR char *pos;
- FAR const char *end;
- FAR const char *in;
+ FAR unsigned char *out;
+ FAR unsigned char *pos;
+ FAR const unsigned char *end;
+ FAR const unsigned char *in;
FAR const char *base64_table;
- size_t olen;
char ch = '=';
+ size_t olen;
if (websafe)
{
@@ -190,17 +192,18 @@ static FAR char *_base64_encode(FAR const char *src, size_t len,
*
****************************************************************************/
-static char *_base64_decode(FAR const char *src, size_t len, FAR char *dst,
- FAR size_t *out_len, bool websafe)
+static unsigned char *_base64_decode(FAR const unsigned char *src,
+ size_t len, FAR unsigned char *dst,
+ FAR size_t *out_len, bool websafe)
{
- FAR char *out;
- FAR char *pos;
- FAR char block[4];
- FAR char *tmp;
+ FAR unsigned char *out;
+ FAR unsigned char *pos;
+ FAR unsigned char block[4];
FAR const char *base64_table;
+ char ch = '=';
+ FAR char *tmp;
size_t count;
size_t i;
- char ch = '=';
if (websafe)
{
@@ -232,7 +235,7 @@ static char *_base64_decode(FAR const char *src, size_t len, FAR char *dst,
if (count == 4)
{
*pos++ = (block[0] << 2) | (block[1] >> 4);
- if (src[i-1] == ch)
+ if (src[i - 1] == ch)
{
break;
}