1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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));
|