summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog4
-rw-r--r--src/fns.c14
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++];