From 368a41151e2969097787eb663ba1bb5c1fb09efd Mon Sep 17 00:00:00 2001 From: matz Date: Mon, 24 Dec 2007 16:36:14 +0000 Subject: * include/ruby/encoding.h (rb_enc_left_char_head): new utility macro. * include/ruby/encoding.h (rb_enc_right_char_head): ditto. * io.c (appendline): does multibyte RS search in the function. * io.c (prepare_getline_args): RS may be nil. * io.c (rb_io_getc): should process character based on external encoding, when transcoding required. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14619 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- include/ruby/encoding.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'include/ruby') diff --git a/include/ruby/encoding.h b/include/ruby/encoding.h index c70f0972d..49df3b22a 100644 --- a/include/ruby/encoding.h +++ b/include/ruby/encoding.h @@ -94,6 +94,9 @@ int rb_enc_codelen(int code, rb_encoding *enc); /* ptr, ptr, encoding -> prev_char */ #define rb_enc_prev_char(s,p,enc) (char *)onigenc_get_prev_char_head(enc,(UChar*)s,(UChar*)p) +/* ptr, ptr, encoding -> next_char */ +#define rb_enc_left_char_head(s,p,enc) (char *)onigenc_get_left_adjust_char_head(enc,(UChar*)s,(UChar*)p) +#define rb_enc_right_char_head(s,p,enc) (char *)onigenc_get_right_adjust_char_head(enc,(UChar*)s,(UChar*)p) #define rb_enc_isctype(c,t,enc) ONIGENC_IS_CODE_CTYPE(enc,c,t) #define rb_enc_isascii(c,enc) ONIGENC_IS_CODE_ASCII(c) -- cgit