aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKenichi Handa2002-08-22 01:18:39 +0000
committerKenichi Handa2002-08-22 01:18:39 +0000
commit680d4b87f3d88a8b79f883cf3635036747588250 (patch)
treef7631a67cc7b1d84ffdfd7fb7bb0c4598cbef67e /src
parenta2974661fb866736365377ef7fede57531134219 (diff)
downloademacs-680d4b87f3d88a8b79f883cf3635036747588250.tar.gz
emacs-680d4b87f3d88a8b79f883cf3635036747588250.zip
(base64_encode_1): Handle eight-bit chars correctly.
Diffstat (limited to 'src')
-rw-r--r--src/fns.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/fns.c b/src/fns.c
index 2a442816405..5865cdf1a93 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -3047,7 +3047,9 @@ base64_encode_1 (from, to, length, line_break, multibyte)
3047 if (multibyte) 3047 if (multibyte)
3048 { 3048 {
3049 c = STRING_CHAR_AND_LENGTH (from + i, length - i, bytes); 3049 c = STRING_CHAR_AND_LENGTH (from + i, length - i, bytes);
3050 if (c >= 256) 3050 if (CHAR_BYTE8_P (c))
3051 c = CHAR_TO_BYTE8 (c);
3052 else if (c >= 256)
3051 return -1; 3053 return -1;
3052 i += bytes; 3054 i += bytes;
3053 } 3055 }
@@ -3085,7 +3087,9 @@ base64_encode_1 (from, to, length, line_break, multibyte)
3085 if (multibyte) 3087 if (multibyte)
3086 { 3088 {
3087 c = STRING_CHAR_AND_LENGTH (from + i, length - i, bytes); 3089 c = STRING_CHAR_AND_LENGTH (from + i, length - i, bytes);
3088 if (c >= 256) 3090 if (CHAR_BYTE8_P (c))
3091 c = CHAR_TO_BYTE8 (c);
3092 else if (c >= 256)
3089 return -1; 3093 return -1;
3090 i += bytes; 3094 i += bytes;
3091 } 3095 }
@@ -3107,7 +3111,9 @@ base64_encode_1 (from, to, length, line_break, multibyte)
3107 if (multibyte) 3111 if (multibyte)
3108 { 3112 {
3109 c = STRING_CHAR_AND_LENGTH (from + i, length - i, bytes); 3113 c = STRING_CHAR_AND_LENGTH (from + i, length - i, bytes);
3110 if (c >= 256) 3114 if (CHAR_BYTE8_P (c))
3115 c = CHAR_TO_BYTE8 (c);
3116 else if (c >= 256)
3111 return -1; 3117 return -1;
3112 i += bytes; 3118 i += bytes;
3113 } 3119 }