comparison src/coding.c @ 95345:0350e5efb8f7

(encode_coding_raw_text): Fix last change.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Tue, 27 May 2008 15:56:59 +0000
parents 02f76f79f115
children 96d35f50fe34
comparison
equal deleted inserted replaced
95344:02f76f79f115 95345:0350e5efb8f7
4816 int multibytep = coding->dst_multibyte; 4816 int multibytep = coding->dst_multibyte;
4817 int *charbuf = coding->charbuf; 4817 int *charbuf = coding->charbuf;
4818 int *charbuf_end = coding->charbuf + coding->charbuf_used; 4818 int *charbuf_end = coding->charbuf + coding->charbuf_used;
4819 unsigned char *dst = coding->destination + coding->produced; 4819 unsigned char *dst = coding->destination + coding->produced;
4820 unsigned char *dst_end = coding->destination + coding->dst_bytes; 4820 unsigned char *dst_end = coding->destination + coding->dst_bytes;
4821 int produced_chars = 0;
4821 int c; 4822 int c;
4822 4823
4823 if (multibytep) 4824 if (multibytep)
4824 { 4825 {
4825 int safe_room = MAX_MULTIBYTE_LENGTH * 2; 4826 int safe_room = MAX_MULTIBYTE_LENGTH * 2;
4878 { 4879 {
4879 ASSURE_DESTINATION (charbuf_end - charbuf); 4880 ASSURE_DESTINATION (charbuf_end - charbuf);
4880 while (charbuf < charbuf_end && dst < dst_end) 4881 while (charbuf < charbuf_end && dst < dst_end)
4881 *dst++ = *charbuf++; 4882 *dst++ = *charbuf++;
4882 } 4883 }
4884 produced_chars = charbuf - coding->charbuf;
4883 } 4885 }
4884 record_conversion_result (coding, CODING_RESULT_SUCCESS); 4886 record_conversion_result (coding, CODING_RESULT_SUCCESS);
4885 coding->produced_char += charbuf - coding->charbuf; 4887 coding->produced_char += produced_chars;
4886 coding->produced = dst - coding->destination; 4888 coding->produced = dst - coding->destination;
4887 return 0; 4889 return 0;
4888 } 4890 }
4889 4891
4890 /* See the above "GENERAL NOTES on `detect_coding_XXX ()' functions". 4892 /* See the above "GENERAL NOTES on `detect_coding_XXX ()' functions".