summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-10-28 06:06:10 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-10-28 06:06:10 +0000
commit8d9e64fb38a58b5d9bac0342ef642054c5dd8b3f (patch)
tree63b0450f60b5c9898179f2520d3638fd4edd298c
parent9f5f7b87bafc1e47cc00237020e6bdb7e8fc37be (diff)
* encoding.c (get_filesystem_encoding):
add Encoding.filesystem_encoding [ruby-dev:39546] also see [ruby-core:25959] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog7
-rw-r--r--encoding.c17
2 files changed, 24 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index cdd03b135a..4ef00b469c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,14 @@
+Wed Oct 28 14:24:45 2009 NARUSE, Yui <naruse@ruby-lang.org>
+
+ * encoding.c (get_filesystem_encoding):
+ add Encoding.filesystem_encoding [ruby-dev:39546]
+ also see [ruby-core:25959]
+
Wed Oct 28 14:51:31 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/etc/etc.c (etc_each_group): fixed typo.
+
Wed Oct 28 13:02:10 2009 Shugo Maeda <shugo@ruby-lang.org>
* lib/net/ftp.rb (Net::FTP#initialize): sets @binary to true.
diff --git a/encoding.c b/encoding.c
index 3eb817e0c7..b02aa7c566 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);