From 844eb643e45887a54d5ad5edd6ced1de0b82e5ab Mon Sep 17 00:00:00 2001 From: Dave Love <fx@gnu.org> Date: Mon, 25 Sep 2000 09:23:53 +0000 Subject: [PATCH] (base64_encode_1): Fix last change. --- src/ChangeLog | 4 ++++ src/fns.c | 14 +++++++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 97235b593ec..da4dc9c21c5 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2000-09-24 Dave Love <fx@gnu.org> + + * fns.c (base64_encode_1): Fix last change. + 2000-09-22 Gerd Moellmann <gerd@gnu.org> * dispnew.c (enable_glyph_matrix_rows): Remove xasserts. diff --git a/src/fns.c b/src/fns.c index e46159fd63c..fce3d728a3a 100644 --- a/src/fns.c +++ b/src/fns.c @@ -3377,7 +3377,7 @@ base64_encode_1 (from, to, length, line_break, multibyte) { int counter = 0, i = 0; char *e = to; - unsigned char c; + int c; unsigned int value; int bytes; @@ -3386,9 +3386,9 @@ base64_encode_1 (from, to, length, line_break, multibyte) if (multibyte) { c = STRING_CHAR_AND_LENGTH (from + i, length - i, bytes); - if (!SINGLE_BYTE_CHAR_P (c)) + if (bytes > 1) return -1; - i += bytes; + i++; } else c = from[i++]; @@ -3424,7 +3424,9 @@ base64_encode_1 (from, to, length, line_break, multibyte) if (multibyte) { c = STRING_CHAR_AND_LENGTH (from + i, length - i, bytes); - i += bytes; + if (bytes > 1) + return -1; + i++; } else c = from[i++]; @@ -3444,7 +3446,9 @@ base64_encode_1 (from, to, length, line_break, multibyte) if (multibyte) { c = STRING_CHAR_AND_LENGTH (from + i, length - i, bytes); - i += bytes; + if (bytes > 1) + return -1; + i++; } else c = from[i++]; -- 2.39.5