rua 0.4.4-mswin32 → 0.4.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/ext/rua.c +22 -9
- data/lib/i386-mswin32/rua.so +0 -0
- metadata +3 -3
data/ext/rua.c
CHANGED
@@ -9,14 +9,15 @@ __declspec(dllexport) void Init_rua(void);
|
|
9
9
|
#include <errno.h>
|
10
10
|
#include <stdarg.h>
|
11
11
|
|
12
|
-
#include "ruby.h"
|
13
|
-
|
14
12
|
#include "lua.h"
|
15
13
|
#include "lualib.h"
|
16
14
|
#include "lauxlib.h"
|
17
15
|
|
18
16
|
#include "iconv.h"
|
19
17
|
|
18
|
+
#include "ruby.h"
|
19
|
+
#include "rubysig.h"
|
20
|
+
|
20
21
|
#include "rua.h"
|
21
22
|
|
22
23
|
#ifndef RSTRING_PTR
|
@@ -35,7 +36,7 @@ __declspec(dllexport) void Init_rua(void);
|
|
35
36
|
#define RARRAY_LEN(s) (RARRAY(s)->len)
|
36
37
|
#endif
|
37
38
|
|
38
|
-
#define VERSION "0.4.
|
39
|
+
#define VERSION "0.4.5"
|
39
40
|
#define REF_RBOBJ "self"
|
40
41
|
|
41
42
|
#define ICONV_JIS "ISO-2022-JP"
|
@@ -292,7 +293,7 @@ static VALUE rua_eval(VALUE self, VALUE str) {
|
|
292
293
|
struct rua *p;
|
293
294
|
VALUE errinfo;
|
294
295
|
const char *errmsg;
|
295
|
-
int pretop;
|
296
|
+
int pretop, result = -1;
|
296
297
|
|
297
298
|
Check_Type(str, T_STRING);
|
298
299
|
Data_Get_Struct(self, struct rua, p);
|
@@ -304,7 +305,11 @@ static VALUE rua_eval(VALUE self, VALUE str) {
|
|
304
305
|
pretop = lua_gettop(p->L);
|
305
306
|
luaL_loadstring(p->L, RSTRING_PTR(str));
|
306
307
|
|
307
|
-
|
308
|
+
TRAP_BEG;
|
309
|
+
result = lua_pcall(p->L, 0, LUA_MULTRET, 0);
|
310
|
+
TRAP_END;
|
311
|
+
|
312
|
+
if (result != 0) {
|
308
313
|
if (lua_islightuserdata(p->L, -1)) {
|
309
314
|
errinfo = (VALUE) lua_touserdata(p->L, -1);
|
310
315
|
lua_pop(p->L, 1);
|
@@ -557,7 +562,7 @@ static VALUE rua_func_initialize(VALUE self) {
|
|
557
562
|
*/
|
558
563
|
static VALUE rua_func_call(int argc, VALUE *argv, VALUE self) {
|
559
564
|
struct rua_ref *p;
|
560
|
-
int pretop, i;
|
565
|
+
int pretop, i, result = -1;
|
561
566
|
VALUE errinfo;
|
562
567
|
const char *errmsg;
|
563
568
|
|
@@ -569,7 +574,11 @@ static VALUE rua_func_call(int argc, VALUE *argv, VALUE self) {
|
|
569
574
|
rua_pushrbval(p->L, argv[i], p->R);
|
570
575
|
}
|
571
576
|
|
572
|
-
|
577
|
+
TRAP_BEG;
|
578
|
+
result = lua_pcall(p->L, argc, LUA_MULTRET, 0);
|
579
|
+
TRAP_END;
|
580
|
+
|
581
|
+
if (result != 0) {
|
573
582
|
if (lua_islightuserdata(p->L, -1)) {
|
574
583
|
errinfo = (VALUE) lua_touserdata(p->L, -1);
|
575
584
|
lua_pop(p->L, 1);
|
@@ -622,7 +631,7 @@ static VALUE rua_thread_initialize(VALUE self) {
|
|
622
631
|
static VALUE rua_thread_resume(int argc, VALUE *argv, VALUE self) {
|
623
632
|
struct rua_ref *p;
|
624
633
|
VALUE retval, errinfo;
|
625
|
-
int pretop, i;
|
634
|
+
int pretop, i, result = -1;
|
626
635
|
const char *errmsg;
|
627
636
|
|
628
637
|
Data_Get_Struct(self, struct rua_ref, p);
|
@@ -636,7 +645,11 @@ static VALUE rua_thread_resume(int argc, VALUE *argv, VALUE self) {
|
|
636
645
|
rua_pushrbval(p->L, argv[i], p->R);
|
637
646
|
}
|
638
647
|
|
639
|
-
|
648
|
+
TRAP_BEG;
|
649
|
+
result = lua_pcall(p->L, argc + 1, LUA_MULTRET, 0);
|
650
|
+
TRAP_END;
|
651
|
+
|
652
|
+
if (result != 0) {
|
640
653
|
if (lua_islightuserdata(p->L, -1)) {
|
641
654
|
errinfo = (VALUE) lua_touserdata(p->L, -1);
|
642
655
|
lua_pop(p->L, 2);
|
data/lib/i386-mswin32/rua.so
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rua
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.5
|
5
5
|
platform: mswin32
|
6
6
|
authors:
|
7
7
|
- winebarrel
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-
|
12
|
+
date: 2008-09-15 00:00:00 +09:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|
@@ -49,7 +49,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
49
49
|
requirements: []
|
50
50
|
|
51
51
|
rubyforge_project: rua
|
52
|
-
rubygems_version: 1.
|
52
|
+
rubygems_version: 1.2.0
|
53
53
|
signing_key:
|
54
54
|
specification_version: 2
|
55
55
|
summary: Rua is a library for using Lua under Ruby.
|