rua 0.3.3-mswin32 → 0.3.5-mswin32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.txt +5 -0
 - data/ext/rua.c +138 -1
 - data/lib/i386-mswin32/rua.so +0 -0
 - metadata +2 -2
 
    
        data/README.txt
    CHANGED
    
    | 
         @@ -27,6 +27,7 @@ http://storehouse.sakura.ne.jp/rua/ 
     | 
|
| 
       27 
27 
     | 
    
         
             
                class MyClass; end
         
     | 
| 
       28 
28 
     | 
    
         | 
| 
       29 
29 
     | 
    
         
             
                rua = Rua.new(:all)
         
     | 
| 
      
 30 
     | 
    
         
            +
                #rua.external_charset = Rua::SJIS
         
     | 
| 
       30 
31 
     | 
    
         
             
                #rua.openlibs(:base, :package, :string)
         
     | 
| 
       31 
32 
     | 
    
         
             
                #rua.secure = false
         
     | 
| 
       32 
33 
     | 
    
         
             
                rua.abort_by_error = false
         
     | 
| 
         @@ -93,3 +94,7 @@ http://storehouse.sakura.ne.jp/rua/ 
     | 
|
| 
       93 
94 
     | 
    
         
             
                p co.resume('x', 'y')
         
     | 
| 
       94 
95 
     | 
    
         | 
| 
       95 
96 
     | 
    
         
             
                p rua.f.info.to_hash
         
     | 
| 
      
 97 
     | 
    
         
            +
             
     | 
| 
      
 98 
     | 
    
         
            +
            == Notice
         
     | 
| 
      
 99 
     | 
    
         
            +
            === License for Lua 5.0 and later versions
         
     | 
| 
      
 100 
     | 
    
         
            +
            Copyright (c) 1994-2007 Lua.org, PUC-Rio.
         
     | 
    
        data/ext/rua.c
    CHANGED
    
    | 
         @@ -7,6 +7,8 @@ __declspec(dllexport) void Init_rua(void); 
     | 
|
| 
       7 
7 
     | 
    
         | 
| 
       8 
8 
     | 
    
         
             
            #include <stddef.h>
         
     | 
| 
       9 
9 
     | 
    
         
             
            #include <string.h>
         
     | 
| 
      
 10 
     | 
    
         
            +
            #include <malloc.h>
         
     | 
| 
      
 11 
     | 
    
         
            +
            #include <errno.h>
         
     | 
| 
       10 
12 
     | 
    
         | 
| 
       11 
13 
     | 
    
         
             
            #include "ruby.h"
         
     | 
| 
       12 
14 
     | 
    
         | 
| 
         @@ -14,11 +16,18 @@ __declspec(dllexport) void Init_rua(void); 
     | 
|
| 
       14 
16 
     | 
    
         
             
            #include "lualib.h"
         
     | 
| 
       15 
17 
     | 
    
         
             
            #include "lauxlib.h"
         
     | 
| 
       16 
18 
     | 
    
         | 
| 
      
 19 
     | 
    
         
            +
            #include "iconv.h"
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
       17 
21 
     | 
    
         
             
            #include "rua.h"
         
     | 
| 
       18 
22 
     | 
    
         | 
| 
       19 
     | 
    
         
            -
            #define VERSION 
     | 
| 
      
 23 
     | 
    
         
            +
            #define VERSION   "0.3.5"
         
     | 
| 
       20 
24 
     | 
    
         
             
            #define REF_RBOBJ "self"
         
     | 
| 
       21 
25 
     | 
    
         | 
| 
      
 26 
     | 
    
         
            +
            #define ICONV_JIS   "ISO-2022-JP"
         
     | 
| 
      
 27 
     | 
    
         
            +
            #define ICONV_SJIS  "SJIS"
         
     | 
| 
      
 28 
     | 
    
         
            +
            #define ICONV_EUC   "eucJP"
         
     | 
| 
      
 29 
     | 
    
         
            +
            #define ICONV_UTF8  "UTF-8"
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
       22 
31 
     | 
    
         
             
            static const char *insecure_methods[] = {
         
     | 
| 
       23 
32 
     | 
    
         
             
              "__id__",
         
     | 
| 
       24 
33 
     | 
    
         
             
              "__send__",
         
     | 
| 
         @@ -87,6 +96,10 @@ void Init_rua() { 
     | 
|
| 
       87 
96 
     | 
    
         | 
| 
       88 
97 
     | 
    
         
             
              rb_define_alloc_func(Rua, rua_alloc);
         
     | 
| 
       89 
98 
     | 
    
         
             
              rb_define_const(Rua, "VERSION", rb_str_new2(VERSION));
         
     | 
| 
      
 99 
     | 
    
         
            +
              rb_define_const(Rua, "JIS", rb_str_new2(ICONV_JIS));
         
     | 
| 
      
 100 
     | 
    
         
            +
              rb_define_const(Rua, "SJIS", rb_str_new2(ICONV_SJIS));
         
     | 
| 
      
 101 
     | 
    
         
            +
              rb_define_const(Rua, "EUC", rb_str_new2(ICONV_EUC));
         
     | 
| 
      
 102 
     | 
    
         
            +
              //rb_define_const(Rua, "UTF8", rb_str_new2(ICONV_UTF8));
         
     | 
| 
       90 
103 
     | 
    
         
             
              rb_define_private_method(Rua, "initialize", rua_initialize, -1);
         
     | 
| 
       91 
104 
     | 
    
         
             
              rb_define_method(Rua, "openlibs", rua_openlibs, -1);
         
     | 
| 
       92 
105 
     | 
    
         
             
              rb_define_method(Rua, "eval", rua_eval, 1);
         
     | 
| 
         @@ -98,6 +111,8 @@ void Init_rua() { 
     | 
|
| 
       98 
111 
     | 
    
         
             
              rb_define_method(Rua, "abort_by_error=", rua_set_abort_by_error, 1);
         
     | 
| 
       99 
112 
     | 
    
         
             
              rb_define_method(Rua, "wrap_error", rua_get_wrap_error, 0);
         
     | 
| 
       100 
113 
     | 
    
         
             
              rb_define_method(Rua, "wrap_error=", rua_set_wrap_error, 1);
         
     | 
| 
      
 114 
     | 
    
         
            +
              rb_define_method(Rua, "external_charset", rua_get_external_charset, 0);
         
     | 
| 
      
 115 
     | 
    
         
            +
              rb_define_method(Rua, "external_charset=", rua_set_external_charset, 1);
         
     | 
| 
       101 
116 
     | 
    
         
             
              rb_define_method(Rua, "error_handler", rua_get_error_handler, 0);
         
     | 
| 
       102 
117 
     | 
    
         
             
              rb_define_method(Rua, "error_handler=", rua_set_error_handler, 1);
         
     | 
| 
       103 
118 
     | 
    
         
             
              rb_define_method(Rua, "method_missing", rua_method_missing, -1);
         
     | 
| 
         @@ -147,6 +162,7 @@ static VALUE rua_alloc(VALUE klass) { 
     | 
|
| 
       147 
162 
     | 
    
         
             
              p->R->rua = Qnil;
         
     | 
| 
       148 
163 
     | 
    
         
             
              p->R->refs = Qnil;
         
     | 
| 
       149 
164 
     | 
    
         
             
              p->R->error_handler = Qnil;
         
     | 
| 
      
 165 
     | 
    
         
            +
              p->R->external_charset = Qnil;
         
     | 
| 
       150 
166 
     | 
    
         
             
              p->R->secure = 1;
         
     | 
| 
       151 
167 
     | 
    
         
             
              p->R->abort_by_error = 1;
         
     | 
| 
       152 
168 
     | 
    
         
             
              p->R->wrap_error = 1;
         
     | 
| 
         @@ -157,6 +173,7 @@ static void rua_mark(struct rua *p) { 
     | 
|
| 
       157 
173 
     | 
    
         
             
              rb_gc_mark(p->R->rua);
         
     | 
| 
       158 
174 
     | 
    
         
             
              rb_gc_mark(p->R->refs);
         
     | 
| 
       159 
175 
     | 
    
         
             
              rb_gc_mark(p->R->error_handler);
         
     | 
| 
      
 176 
     | 
    
         
            +
              rb_gc_mark(p->R->external_charset);
         
     | 
| 
       160 
177 
     | 
    
         
             
            }
         
     | 
| 
       161 
178 
     | 
    
         | 
| 
       162 
179 
     | 
    
         
             
            static void rua_free(struct rua *p) {
         
     | 
| 
         @@ -182,6 +199,7 @@ static VALUE rua_initialize(int argc, VALUE *argv, VALUE self) { 
     | 
|
| 
       182 
199 
     | 
    
         
             
              p->R->rua = self;
         
     | 
| 
       183 
200 
     | 
    
         
             
              p->R->refs = rb_hash_new();
         
     | 
| 
       184 
201 
     | 
    
         
             
              p->R->error_handler = Qnil;
         
     | 
| 
      
 202 
     | 
    
         
            +
              p->R->external_charset = Qnil;
         
     | 
| 
       185 
203 
     | 
    
         
             
              p->R->secure = 1;
         
     | 
| 
       186 
204 
     | 
    
         
             
              p->R->abort_by_error = 1;
         
     | 
| 
       187 
205 
     | 
    
         
             
              p->R->wrap_error = 1;
         
     | 
| 
         @@ -257,6 +275,11 @@ static VALUE rua_eval(VALUE self, VALUE str) { 
     | 
|
| 
       257 
275 
     | 
    
         | 
| 
       258 
276 
     | 
    
         
             
              Check_Type(str, T_STRING);
         
     | 
| 
       259 
277 
     | 
    
         
             
              Data_Get_Struct(self, struct rua, p);
         
     | 
| 
      
 278 
     | 
    
         
            +
             
     | 
| 
      
 279 
     | 
    
         
            +
              if (!NIL_P(p->R->external_charset)) {
         
     | 
| 
      
 280 
     | 
    
         
            +
                str = rua_iconv(ICONV_UTF8, StringValuePtr(p->R->external_charset), str);
         
     | 
| 
      
 281 
     | 
    
         
            +
              }
         
     | 
| 
      
 282 
     | 
    
         
            +
             
     | 
| 
       260 
283 
     | 
    
         
             
              pretop = lua_gettop(p->L);
         
     | 
| 
       261 
284 
     | 
    
         
             
              luaL_loadstring(p->L, StringValuePtr(str));
         
     | 
| 
       262 
285 
     | 
    
         | 
| 
         @@ -396,6 +419,34 @@ static VALUE rua_set_wrap_error(VALUE self, VALUE wrap_error) { 
     | 
|
| 
       396 
419 
     | 
    
         
             
              return Qnil;
         
     | 
| 
       397 
420 
     | 
    
         
             
            }
         
     | 
| 
       398 
421 
     | 
    
         | 
| 
      
 422 
     | 
    
         
            +
            /**
         
     | 
| 
      
 423 
     | 
    
         
            +
             * get external character set.
         
     | 
| 
      
 424 
     | 
    
         
            +
             */
         
     | 
| 
      
 425 
     | 
    
         
            +
            static VALUE rua_get_external_charset(VALUE self) {
         
     | 
| 
      
 426 
     | 
    
         
            +
              struct rua *p;
         
     | 
| 
      
 427 
     | 
    
         
            +
             
     | 
| 
      
 428 
     | 
    
         
            +
              Data_Get_Struct(self, struct rua, p);
         
     | 
| 
      
 429 
     | 
    
         
            +
              return p->R->external_charset;
         
     | 
| 
      
 430 
     | 
    
         
            +
            }
         
     | 
| 
      
 431 
     | 
    
         
            +
             
     | 
| 
      
 432 
     | 
    
         
            +
            /**
         
     | 
| 
      
 433 
     | 
    
         
            +
             * set external character set.
         
     | 
| 
      
 434 
     | 
    
         
            +
             */
         
     | 
| 
      
 435 
     | 
    
         
            +
            static VALUE rua_set_external_charset(VALUE self, VALUE external_charset) {
         
     | 
| 
      
 436 
     | 
    
         
            +
              struct rua *p;
         
     | 
| 
      
 437 
     | 
    
         
            +
             
     | 
| 
      
 438 
     | 
    
         
            +
              Data_Get_Struct(self, struct rua, p);
         
     | 
| 
      
 439 
     | 
    
         
            +
             
     | 
| 
      
 440 
     | 
    
         
            +
              if (NIL_P(external_charset)) {
         
     | 
| 
      
 441 
     | 
    
         
            +
                p->R->external_charset = Qnil;
         
     | 
| 
      
 442 
     | 
    
         
            +
              } else {
         
     | 
| 
      
 443 
     | 
    
         
            +
                Check_Type(external_charset, T_STRING);
         
     | 
| 
      
 444 
     | 
    
         
            +
                p->R->external_charset = external_charset;
         
     | 
| 
      
 445 
     | 
    
         
            +
              }
         
     | 
| 
      
 446 
     | 
    
         
            +
             
     | 
| 
      
 447 
     | 
    
         
            +
              return Qnil;
         
     | 
| 
      
 448 
     | 
    
         
            +
            }
         
     | 
| 
      
 449 
     | 
    
         
            +
             
     | 
| 
       399 
450 
     | 
    
         
             
            /**
         
     | 
| 
       400 
451 
     | 
    
         
             
             * get error handler.
         
     | 
| 
       401 
452 
     | 
    
         
             
             */
         
     | 
| 
         @@ -458,6 +509,7 @@ static void rua_ref_mark(struct rua_ref *p) { 
     | 
|
| 
       458 
509 
     | 
    
         
             
              rb_gc_mark(p->R->rua);
         
     | 
| 
       459 
510 
     | 
    
         
             
              rb_gc_mark(p->R->refs);
         
     | 
| 
       460 
511 
     | 
    
         
             
              rb_gc_mark(p->R->error_handler);
         
     | 
| 
      
 512 
     | 
    
         
            +
              rb_gc_mark(p->R->external_charset);
         
     | 
| 
       461 
513 
     | 
    
         
             
            }
         
     | 
| 
       462 
514 
     | 
    
         | 
| 
       463 
515 
     | 
    
         
             
            static void rua_ref_free(struct rua_ref *p) {
         
     | 
| 
         @@ -797,6 +849,11 @@ static VALUE rua_torbval(lua_State *L, int idx, struct rua_state *R) { 
     | 
|
| 
       797 
849 
     | 
    
         | 
| 
       798 
850 
     | 
    
         
             
              case LUA_TSTRING:
         
     | 
| 
       799 
851 
     | 
    
         
             
                rbval = rb_str_new2(lua_tostring(L, idx));
         
     | 
| 
      
 852 
     | 
    
         
            +
             
     | 
| 
      
 853 
     | 
    
         
            +
                if (!NIL_P(R->external_charset)) {
         
     | 
| 
      
 854 
     | 
    
         
            +
                  rbval = rua_iconv(StringValuePtr(R->external_charset), ICONV_UTF8, rbval);
         
     | 
| 
      
 855 
     | 
    
         
            +
                }
         
     | 
| 
      
 856 
     | 
    
         
            +
             
     | 
| 
       800 
857 
     | 
    
         
             
                break;
         
     | 
| 
       801 
858 
     | 
    
         | 
| 
       802 
859 
     | 
    
         
             
              case LUA_TTABLE:
         
     | 
| 
         @@ -884,6 +941,10 @@ static void rua_pushrbval(lua_State *L, VALUE rbval, struct rua_state *R) { 
     | 
|
| 
       884 
941 
     | 
    
         
             
                break;
         
     | 
| 
       885 
942 
     | 
    
         | 
| 
       886 
943 
     | 
    
         
             
              case T_STRING:
         
     | 
| 
      
 944 
     | 
    
         
            +
                if (!NIL_P(R->external_charset)) {
         
     | 
| 
      
 945 
     | 
    
         
            +
                  rbval = rua_iconv(ICONV_UTF8, StringValuePtr(R->external_charset), rbval);
         
     | 
| 
      
 946 
     | 
    
         
            +
                }
         
     | 
| 
      
 947 
     | 
    
         
            +
             
     | 
| 
       887 
948 
     | 
    
         
             
                lua_pushstring(L, StringValuePtr(rbval));
         
     | 
| 
       888 
949 
     | 
    
         
             
                break;
         
     | 
| 
       889 
950 
     | 
    
         | 
| 
         @@ -917,6 +978,7 @@ static void rua_pushrbval(lua_State *L, VALUE rbval, struct rua_state *R) { 
     | 
|
| 
       917 
978 
     | 
    
         
             
                  lua_pushlightuserdata(L, (void *) rbval);
         
     | 
| 
       918 
979 
     | 
    
         
             
                  lua_pushlightuserdata(L, R);
         
     | 
| 
       919 
980 
     | 
    
         
             
                  lua_pushcclosure(L, rua_proc_call, 2);
         
     | 
| 
      
 981 
     | 
    
         
            +
                  rua_set_finalizer(L, -1, rbval, R);
         
     | 
| 
       920 
982 
     | 
    
         
             
                } else {
         
     | 
| 
       921 
983 
     | 
    
         
             
                  rua_newtable_from_obj(L, rbval, R);
         
     | 
| 
       922 
984 
     | 
    
         
             
                }
         
     | 
| 
         @@ -967,6 +1029,7 @@ static void rua_newtable_from_obj(lua_State *L, VALUE obj, struct rua_state *R) 
     | 
|
| 
       967 
1029 
     | 
    
         | 
| 
       968 
1030 
     | 
    
         
             
              lua_pushstring(L, REF_RBOBJ);
         
     | 
| 
       969 
1031 
     | 
    
         
             
              lua_pushlightuserdata(L, (void *) obj);
         
     | 
| 
      
 1032 
     | 
    
         
            +
              rua_set_finalizer(L, -1, obj, R);
         
     | 
| 
       970 
1033 
     | 
    
         
             
              lua_rawset(L, tblidx);
         
     | 
| 
       971 
1034 
     | 
    
         
             
              rb_hash_aset(R->refs, obj, Qtrue);
         
     | 
| 
       972 
1035 
     | 
    
         | 
| 
         @@ -1149,3 +1212,77 @@ static const char *rua_classname_ptr(VALUE v) { 
     | 
|
| 
       1149 
1212 
     | 
    
         | 
| 
       1150 
1213 
     | 
    
         
             
              return StringValuePtr(klassname);
         
     | 
| 
       1151 
1214 
     | 
    
         
             
            }
         
     | 
| 
      
 1215 
     | 
    
         
            +
             
     | 
| 
      
 1216 
     | 
    
         
            +
            static void rua_set_finalizer(lua_State *L, int idx, VALUE rbobj, struct rua_state *R) {
         
     | 
| 
      
 1217 
     | 
    
         
            +
              int pretop, objidx, tblidx;
         
     | 
| 
      
 1218 
     | 
    
         
            +
             
     | 
| 
      
 1219 
     | 
    
         
            +
              pretop = lua_gettop(L);
         
     | 
| 
      
 1220 
     | 
    
         
            +
              lua_pushvalue(L, idx);
         
     | 
| 
      
 1221 
     | 
    
         
            +
              objidx = lua_gettop(L);
         
     | 
| 
      
 1222 
     | 
    
         
            +
             
     | 
| 
      
 1223 
     | 
    
         
            +
              if (!lua_getmetatable(L, objidx)) {
         
     | 
| 
      
 1224 
     | 
    
         
            +
                lua_newtable(L);
         
     | 
| 
      
 1225 
     | 
    
         
            +
                lua_setmetatable(L, objidx);
         
     | 
| 
      
 1226 
     | 
    
         
            +
                lua_getmetatable(L, objidx);
         
     | 
| 
      
 1227 
     | 
    
         
            +
              }
         
     | 
| 
      
 1228 
     | 
    
         
            +
             
     | 
| 
      
 1229 
     | 
    
         
            +
              tblidx = lua_gettop(L);
         
     | 
| 
      
 1230 
     | 
    
         
            +
              lua_pushstring(L, "__gc");
         
     | 
| 
      
 1231 
     | 
    
         
            +
             
     | 
| 
      
 1232 
     | 
    
         
            +
              lua_pushlightuserdata(L, (void *) rbobj);
         
     | 
| 
      
 1233 
     | 
    
         
            +
              lua_pushlightuserdata(L, R);
         
     | 
| 
      
 1234 
     | 
    
         
            +
              lua_pushcclosure(L, rua_finalize_rbobj, 2);
         
     | 
| 
      
 1235 
     | 
    
         
            +
             
     | 
| 
      
 1236 
     | 
    
         
            +
              lua_rawset(L, tblidx);
         
     | 
| 
      
 1237 
     | 
    
         
            +
              lua_pop(L, lua_gettop(L) - pretop);
         
     | 
| 
      
 1238 
     | 
    
         
            +
            }
         
     | 
| 
      
 1239 
     | 
    
         
            +
             
     | 
| 
      
 1240 
     | 
    
         
            +
            static int rua_finalize_rbobj(lua_State *L) {
         
     | 
| 
      
 1241 
     | 
    
         
            +
              struct rua_state *R;
         
     | 
| 
      
 1242 
     | 
    
         
            +
              VALUE rbobj;
         
     | 
| 
      
 1243 
     | 
    
         
            +
             
     | 
| 
      
 1244 
     | 
    
         
            +
              if (lua_gettop(L) > 0) {
         
     | 
| 
      
 1245 
     | 
    
         
            +
                rbobj = (VALUE) lua_touserdata(L, lua_upvalueindex(1));  
         
     | 
| 
      
 1246 
     | 
    
         
            +
                R = (struct rua_state *) lua_touserdata(L, lua_upvalueindex(2));
         
     | 
| 
      
 1247 
     | 
    
         
            +
             
     | 
| 
      
 1248 
     | 
    
         
            +
                if (rbobj) {
         
     | 
| 
      
 1249 
     | 
    
         
            +
                  rb_hash_delete(R->refs, rbobj);
         
     | 
| 
      
 1250 
     | 
    
         
            +
                }
         
     | 
| 
      
 1251 
     | 
    
         
            +
              }
         
     | 
| 
      
 1252 
     | 
    
         
            +
             
     | 
| 
      
 1253 
     | 
    
         
            +
              return 0;
         
     | 
| 
      
 1254 
     | 
    
         
            +
            }
         
     | 
| 
      
 1255 
     | 
    
         
            +
             
     | 
| 
      
 1256 
     | 
    
         
            +
            static VALUE rua_iconv(const char *to, const char *from, VALUE in) {
         
     | 
| 
      
 1257 
     | 
    
         
            +
              VALUE out;
         
     | 
| 
      
 1258 
     | 
    
         
            +
              iconv_t cd;
         
     | 
| 
      
 1259 
     | 
    
         
            +
              char *cin, *cout, *pcout;
         
     | 
| 
      
 1260 
     | 
    
         
            +
              size_t cin_len, cout_len;
         
     | 
| 
      
 1261 
     | 
    
         
            +
             
     | 
| 
      
 1262 
     | 
    
         
            +
              cd = iconv_open(to, from);
         
     | 
| 
      
 1263 
     | 
    
         
            +
             
     | 
| 
      
 1264 
     | 
    
         
            +
              if ((int) cd == -1) {
         
     | 
| 
      
 1265 
     | 
    
         
            +
                rb_warn("%s (%s, %s)", to, from, strerror(errno));
         
     | 
| 
      
 1266 
     | 
    
         
            +
                return Qnil;
         
     | 
| 
      
 1267 
     | 
    
         
            +
              }
         
     | 
| 
      
 1268 
     | 
    
         
            +
             
     | 
| 
      
 1269 
     | 
    
         
            +
              cin = StringValuePtr(in);
         
     | 
| 
      
 1270 
     | 
    
         
            +
              cin_len = strlen(cin);
         
     | 
| 
      
 1271 
     | 
    
         
            +
              cout_len = cin_len * 3 + 1;
         
     | 
| 
      
 1272 
     | 
    
         
            +
              cout = pcout = alloca(sizeof(char) * cout_len);
         
     | 
| 
      
 1273 
     | 
    
         
            +
             
     | 
| 
      
 1274 
     | 
    
         
            +
              if (iconv(cd, &cin, &cin_len, &pcout, &cout_len) == -1) {
         
     | 
| 
      
 1275 
     | 
    
         
            +
                rb_warn("%s (%s, %s)", to, from, strerror(errno));
         
     | 
| 
      
 1276 
     | 
    
         
            +
                iconv_close(cd);
         
     | 
| 
      
 1277 
     | 
    
         
            +
                return Qnil;
         
     | 
| 
      
 1278 
     | 
    
         
            +
              }
         
     | 
| 
      
 1279 
     | 
    
         
            +
             
     | 
| 
      
 1280 
     | 
    
         
            +
              *pcout = '\0';
         
     | 
| 
      
 1281 
     | 
    
         
            +
              out = rb_str_new2(cout);
         
     | 
| 
      
 1282 
     | 
    
         
            +
             
     | 
| 
      
 1283 
     | 
    
         
            +
              if (iconv_close(cd) != 0) {
         
     | 
| 
      
 1284 
     | 
    
         
            +
                rb_warn("%s (%s, %s)", to, from, strerror(errno));
         
     | 
| 
      
 1285 
     | 
    
         
            +
              }
         
     | 
| 
      
 1286 
     | 
    
         
            +
             
     | 
| 
      
 1287 
     | 
    
         
            +
              return out;
         
     | 
| 
      
 1288 
     | 
    
         
            +
            }
         
     | 
    
        data/lib/i386-mswin32/rua.so
    CHANGED
    
    | 
         Binary file 
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -3,8 +3,8 @@ rubygems_version: 0.9.2 
     | 
|
| 
       3 
3 
     | 
    
         
             
            specification_version: 1
         
     | 
| 
       4 
4 
     | 
    
         
             
            name: rua
         
     | 
| 
       5 
5 
     | 
    
         
             
            version: !ruby/object:Gem::Version 
         
     | 
| 
       6 
     | 
    
         
            -
              version: 0.3. 
     | 
| 
       7 
     | 
    
         
            -
            date: 2007- 
     | 
| 
      
 6 
     | 
    
         
            +
              version: 0.3.5
         
     | 
| 
      
 7 
     | 
    
         
            +
            date: 2007-12-10 00:00:00 +09:00
         
     | 
| 
       8 
8 
     | 
    
         
             
            summary: Rua is a library for using Lua under Ruby.
         
     | 
| 
       9 
9 
     | 
    
         
             
            require_paths: 
         
     | 
| 
       10 
10 
     | 
    
         
             
            - lib/i386-mswin32
         
     |