diff options
author | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-10-28 06:06:10 +0000 |
---|---|---|
committer | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-10-28 06:06:10 +0000 |
commit | b8c68faced9145671b8ee0cae85a531cc88ab334 (patch) | |
tree | 63b0450f60b5c9898179f2520d3638fd4edd298c /encoding.c | |
parent | e4aea9435ae1a542a39014fd3dd089c1f0973bc1 (diff) | |
download | ruby-b8c68faced9145671b8ee0cae85a531cc88ab334.tar.gz ruby-b8c68faced9145671b8ee0cae85a531cc88ab334.tar.xz ruby-b8c68faced9145671b8ee0cae85a531cc88ab334.zip |
* encoding.c (get_filesystem_encoding):
add Encoding.filesystem_encoding [ruby-dev:39546]
also see [ruby-core:25959]
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@25526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'encoding.c')
-rw-r--r-- | encoding.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/encoding.c b/encoding.c index 3eb817e0c..b02aa7c56 100644 --- a/encoding.c +++ b/encoding.c @@ -1118,6 +1118,22 @@ rb_filesystem_encoding(void) return enc; } +/* + * call-seq: + * Encoding.filesystem_encoding => enc + * + * Returns filesystem encoding. + * + * It is locale encoding on Unix, + * the currrent ANSI (or OEM unless AreFileApisANSI) code page on Windows, + * UTF-8 on Mac OS X. + */ +static VALUE +get_filesystem_encoding(VALUE klass) +{ + return rb_enc_from_encoding(rb_filesystem_encoding()); +} + struct default_encoding { int index; /* -2 => not yet set, -1 => nil */ rb_encoding *enc; @@ -1463,6 +1479,7 @@ Init_Encoding(void) rb_define_method(rb_cEncoding, "_dump", enc_dump, -1); rb_define_singleton_method(rb_cEncoding, "_load", enc_load, 1); + rb_define_singleton_method(rb_cEncoding, "filesystem_encoding", get_filesystem_encoding, 0); rb_define_singleton_method(rb_cEncoding, "default_external", get_default_external, 0); rb_define_singleton_method(rb_cEncoding, "default_external=", set_default_external, 1); rb_define_singleton_method(rb_cEncoding, "default_internal", get_default_internal, 0); |