comparison src/coding.c @ 88607:18436bf3d6dd

(Fdefine_coding_system_internal): Fix previous change. (decode_coding_charset): Workaround for the bug of GCC 2.96.
author Kenichi Handa <handa@m17n.org>
date Thu, 23 May 2002 10:54:07 +0000
parents b88195f69856
children 780b91d4a7e5
comparison
equal deleted inserted replaced
88606:1db59c97efef 88607:18436bf3d6dd
4344 goto invalid_code; 4344 goto invalid_code;
4345 if (INTEGERP (val)) 4345 if (INTEGERP (val))
4346 { 4346 {
4347 charset = CHARSET_FROM_ID (XFASTINT (val)); 4347 charset = CHARSET_FROM_ID (XFASTINT (val));
4348 dim = CHARSET_DIMENSION (charset); 4348 dim = CHARSET_DIMENSION (charset);
4349 while (len++ < dim) 4349 while (len < dim)
4350 { 4350 {
4351 ONE_MORE_BYTE (c); 4351 ONE_MORE_BYTE (c);
4352 code = (code << 8) | c; 4352 code = (code << 8) | c;
4353 len++;
4353 } 4354 }
4354 CODING_DECODE_CHAR (coding, src, src_base, src_end, 4355 CODING_DECODE_CHAR (coding, src, src_base, src_end,
4355 charset, code, c); 4356 charset, code, c);
4356 } 4357 }
4357 else 4358 else
4361 comes first). */ 4362 comes first). */
4362 while (CONSP (val)) 4363 while (CONSP (val))
4363 { 4364 {
4364 charset = CHARSET_FROM_ID (XFASTINT (XCAR (val))); 4365 charset = CHARSET_FROM_ID (XFASTINT (XCAR (val)));
4365 dim = CHARSET_DIMENSION (charset); 4366 dim = CHARSET_DIMENSION (charset);
4366 while (len++ < dim) 4367 while (len < dim)
4367 { 4368 {
4368 ONE_MORE_BYTE (c); 4369 ONE_MORE_BYTE (c);
4369 code = (code << 8) | c; 4370 code = (code << 8) | c;
4371 len++;
4370 } 4372 }
4371 CODING_DECODE_CHAR (coding, src, src_base, 4373 CODING_DECODE_CHAR (coding, src, src_base,
4372 src_end, charset, code, c); 4374 src_end, charset, code, c);
4373 if (c >= 0) 4375 if (c >= 0)
4374 break; 4376 break;
7418 tmp = XCAR (tail); 7420 tmp = XCAR (tail);
7419 else if (NUMBERP (tmp)) 7421 else if (NUMBERP (tmp))
7420 { 7422 {
7421 dim2 = CHARSET_DIMENSION (CHARSET_FROM_ID (XFASTINT (tmp))); 7423 dim2 = CHARSET_DIMENSION (CHARSET_FROM_ID (XFASTINT (tmp)));
7422 if (dim < dim2) 7424 if (dim < dim2)
7425 tmp = Fcons (XCAR (tail), Fcons (tmp, Qnil));
7426 else
7423 tmp = Fcons (tmp, Fcons (XCAR (tail), Qnil)); 7427 tmp = Fcons (tmp, Fcons (XCAR (tail), Qnil));
7424 else
7425 tmp = Fcons (XCAR (tail), Fcons (tmp, Qnil));
7426 } 7428 }
7427 else 7429 else
7428 { 7430 {
7429 for (tmp2 = tmp; CONSP (tmp2); tmp2 = XCDR (tmp2)) 7431 for (tmp2 = tmp; CONSP (tmp2); tmp2 = XCDR (tmp2))
7430 { 7432 {