summaryrefslogtreecommitdiff
path: root/devel/ruby-locale/files/patch-rblocale.c
blob: 3b131522b2e5bd14c6f8e2297fbf54f56b30e145 (plain) (blame)
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));