# HG changeset patch # User Kenichi Handa # Date 961391817 0 # Node ID caf7f927357c1fed26ae75863072ca690cb382f9 # Parent 9d85d8264c5943bf7c114696a6eb30440bf08a85 (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type. (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF. diff -r 9d85d8264c59 -r caf7f927357c src/ccl.c --- a/src/ccl.c Mon Jun 19 05:15:51 2000 +0000 +++ b/src/ccl.c Mon Jun 19 05:16:57 2000 +0000 @@ -669,11 +669,22 @@ #define CCL_WRITE_CHAR(ch) \ do { \ int bytes = SINGLE_BYTE_CHAR_P (ch) ? 1: CHAR_BYTES (ch); \ + if (ch == '\n' && ccl->eol_type == CODING_EOL_CRLF) \ + bytes++; \ if (!dst) \ CCL_INVALID_CMD; \ else if (dst + bytes <= (dst_bytes ? dst_end : src)) \ { \ - if (bytes == 1) \ + if (ch == '\n') \ + { \ + if (ccl->eol_type == CODING_EOL_CRLF) \ + *dst++ = '\r', *dst++ = '\n'; \ + else if (ccl->eol_type == CODING_EOL_CR) \ + *dst++ = '\r'; \ + else \ + *dst++ = '\n'; \ + } \ + else if (bytes == 1) \ *dst++ = (ch); \ else \ dst += CHAR_STRING (ch, dst); \ @@ -1755,6 +1766,7 @@ ccl->private_state = 0; ccl->status = 0; ccl->stack_idx = 0; + ccl->eol_type = CODING_EOL_LF; return 0; }