From 2755479bd9224d8cdbe9b58790cd8a38fc38d1cd Mon Sep 17 00:00:00 2001 From: naruse Date: Mon, 16 Jun 2008 21:28:03 +0000 Subject: [PATCH] * encoding.c (rb_filesystem_encoding): defined. * include/ruby/encoding.h (rb_filesystem_encoding): added. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17372 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ encoding.c | 16 ++++++++++++++++ include/ruby/encoding.h | 1 + 3 files changed, 23 insertions(+) diff --git a/ChangeLog b/ChangeLog index 82ae100391..44e3d8571e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Tue Jun 17 06:26:28 2008 NARUSE, Yui + + * encoding.c (rb_filesystem_encoding): defined. + + * include/ruby/encoding.h (rb_filesystem_encoding): added. + Tue Jun 17 06:24:28 2008 NARUSE, Yui * ext/syck/rubyext.c: add encoding header. diff --git a/encoding.c b/encoding.c index 0928b4b2b0..305213569c 100644 --- a/encoding.c +++ b/encoding.c @@ -962,6 +962,22 @@ rb_locale_encoding(void) return rb_enc_from_index(idx); } +rb_encoding * +rb_filesystem_encoding(void) +{ + static rb_encoding *enc; + if (!enc) { +#if defined _WIN32 + enc = rb_locale_encoding(); +#elif defined __APPLE__ + enc = rb_enc_find("UTF8-MAC"); +#else + enc = rb_ascii8bit_encoding(); +#endif + } + return enc; +} + static int default_external_index; rb_encoding * diff --git a/include/ruby/encoding.h b/include/ruby/encoding.h index 1955a4f205..33a8fcd73e 100644 --- a/include/ruby/encoding.h +++ b/include/ruby/encoding.h @@ -165,6 +165,7 @@ rb_encoding *rb_ascii8bit_encoding(void); rb_encoding *rb_utf8_encoding(void); rb_encoding *rb_usascii_encoding(void); rb_encoding *rb_locale_encoding(void); +rb_encoding *rb_filesystem_encoding(void); rb_encoding *rb_default_external_encoding(void); int rb_usascii_encindex(void); int rb_ascii8bit_encindex(void);