Mercurial > emacs
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 { |
