Commit 5b8ca822 authored by Kenichi Handa's avatar Kenichi Handa
Browse files

(CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.

(setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
parent 8538ed9a
...@@ -669,11 +669,22 @@ static tr_stack *mapping_stack_pointer; ...@@ -669,11 +669,22 @@ static tr_stack *mapping_stack_pointer;
#define CCL_WRITE_CHAR(ch) \ #define CCL_WRITE_CHAR(ch) \
do { \ do { \
int bytes = SINGLE_BYTE_CHAR_P (ch) ? 1: CHAR_BYTES (ch); \ int bytes = SINGLE_BYTE_CHAR_P (ch) ? 1: CHAR_BYTES (ch); \
if (ch == '\n' && ccl->eol_type == CODING_EOL_CRLF) \
bytes++; \
if (!dst) \ if (!dst) \
CCL_INVALID_CMD; \ CCL_INVALID_CMD; \
else if (dst + bytes <= (dst_bytes ? dst_end : src)) \ 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); \ *dst++ = (ch); \
else \ else \
dst += CHAR_STRING (ch, dst); \ dst += CHAR_STRING (ch, dst); \
...@@ -1755,6 +1766,7 @@ setup_ccl_program (ccl, ccl_prog) ...@@ -1755,6 +1766,7 @@ setup_ccl_program (ccl, ccl_prog)
ccl->private_state = 0; ccl->private_state = 0;
ccl->status = 0; ccl->status = 0;
ccl->stack_idx = 0; ccl->stack_idx = 0;
ccl->eol_type = CODING_EOL_LF;
return 0; return 0;
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment