summaryrefslogtreecommitdiff
path: root/devel/ruby-locale/files/patch-rblocale.c
diff options
context:
space:
mode:
Diffstat (limited to 'devel/ruby-locale/files/patch-rblocale.c')
-rw-r--r--devel/ruby-locale/files/patch-rblocale.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/devel/ruby-locale/files/patch-rblocale.c b/devel/ruby-locale/files/patch-rblocale.c
new file mode 100644
index 000000000000..3b131522b2e5
--- /dev/null
+++ b/devel/ruby-locale/files/patch-rblocale.c
@@ -0,0 +1,32 @@
+--- rblocale.c.orig 2000-04-14 06:20:58.000000000 +0200
++++ rblocale.c 2013-06-21 12:52:36.000000000 +0200
+@@ -27,10 +27,20 @@
+ {
+ char *ret;
+
+- ret = setlocale(NUM2INT(category), locale == Qnil ? "" : STR2CSTR(locale));
++ ret = setlocale(NUM2INT(category), locale == Qnil ? "" : StringValuePtr(locale));
+ return ret == NULL ? Qnil : rb_str_new2(ret);
+ }
+
++VALUE
++locale_get( self, category )
++ VALUE self, category;
++{
++ char *ret;
++
++ ret = setlocale(NUM2INT(category), NULL );
++ return ret == NULL ? Qnil : rb_str_new2(ret);
++}
++
+ void Init_locale()
+ {
+ char *curr_locale;
+@@ -44,6 +54,7 @@
+ }
+
+ rb_define_module_function(mLocale, "set", locale_set, 2);
++ rb_define_module_function(mLocale, "get", locale_get, 1);
+
+ rb_define_const(mLocale, "ALL", INT2FIX(LC_ALL));
+ rb_define_const(mLocale, "COLLATE", INT2FIX(LC_COLLATE));