libcdb-ruby 0.0.2-x86-mswin32-60 → 0.0.3-x86-mswin32-60
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +5 -0
- data/ext/libcdb/libcdb.c +2 -3
- data/ext/libcdb/ruby_cdb.c +2 -0
- data/ext/libcdb/ruby_cdb.h +15 -5
- data/ext/libcdb/ruby_cdb_reader.c +12 -28
- data/ext/libcdb/ruby_cdb_reader.h +8 -3
- data/ext/libcdb/ruby_cdb_writer.c +3 -1
- data/ext/libcdb/ruby_cdb_writer.h +1 -1
- data/ext/libcdb/ruby_libcdb.h +1 -1
- data/lib/libcdb/1.8/libcdb_ruby.so +0 -0
- data/lib/libcdb/1.9/libcdb_ruby.so +0 -0
- data/lib/libcdb/version.rb +1 -1
- metadata +7 -7
data/ChangeLog
CHANGED
data/ext/libcdb/libcdb.c
CHANGED
data/ext/libcdb/ruby_cdb.c
CHANGED
data/ext/libcdb/ruby_cdb.h
CHANGED
@@ -7,24 +7,23 @@
|
|
7
7
|
#define RCDB_GET_FD(fptr) fileno((fptr)->f)
|
8
8
|
#endif
|
9
9
|
|
10
|
-
#define RCDB_GET_STRUCT(what, _struct, obj, ptr)
|
10
|
+
#define RCDB_GET_STRUCT(what, _struct, obj, ptr) \
|
11
11
|
if (RTEST(rcdb_##what##er_closed_p(obj))) {\
|
12
12
|
rb_raise(rb_eIOError, "closed stream");\
|
13
13
|
}\
|
14
14
|
else {\
|
15
15
|
Data_Get_Struct((obj), struct _struct, (ptr));\
|
16
16
|
}\
|
17
|
-
}
|
18
17
|
|
19
18
|
#define RCDB_DEFINE_ALLOC(what, _struct) \
|
20
19
|
static void \
|
21
20
|
rcdb_##what##er_free(void *ptr) {\
|
22
|
-
|
21
|
+
xfree(ptr);\
|
23
22
|
}\
|
24
23
|
\
|
25
24
|
static VALUE \
|
26
25
|
rcdb_##what##er_alloc(VALUE klass) {\
|
27
|
-
struct _struct *ptr =
|
26
|
+
struct _struct *ptr = ALLOC(struct _struct);\
|
28
27
|
return Data_Wrap_Struct(klass, NULL, rcdb_##what##er_free, ptr);\
|
29
28
|
}
|
30
29
|
|
@@ -45,6 +44,17 @@ rcdb_##what##er_alloc(VALUE klass) {\
|
|
45
44
|
rb_sys_fail(0);\
|
46
45
|
}
|
47
46
|
|
47
|
+
#define RCDB_RAISE_ARGS(min, max) \
|
48
|
+
rb_raise(rb_eArgError,\
|
49
|
+
"wrong number of arguments (%d for " #min "-" #max ")", argc);
|
50
|
+
|
51
|
+
#define RCDB_RETURN_ENUMERATOR(self, argc, argv, max) \
|
52
|
+
if (argc > max) {\
|
53
|
+
RCDB_RAISE_ARGS(0, max)\
|
54
|
+
}\
|
55
|
+
\
|
56
|
+
RETURN_ENUMERATOR(self, argc, argv)
|
57
|
+
|
48
58
|
#define RCDB_DEFINE_INSPECT(what) \
|
49
59
|
static VALUE \
|
50
60
|
rcdb_##what##er_inspect(VALUE self) {\
|
@@ -58,7 +68,7 @@ rcdb_##what##er_inspect(VALUE self) {\
|
|
58
68
|
return str;\
|
59
69
|
}
|
60
70
|
|
61
|
-
VALUE cCDB;
|
71
|
+
extern VALUE cCDB;
|
62
72
|
void rcdb_init_cdb(void);
|
63
73
|
|
64
74
|
#endif /* __RUBY_CDB_H__ */
|
@@ -1,5 +1,7 @@
|
|
1
1
|
#include "ruby_libcdb.h"
|
2
2
|
|
3
|
+
VALUE cCDBReader;
|
4
|
+
|
3
5
|
RCDB_DEFINE_ALLOC(read, cdb)
|
4
6
|
|
5
7
|
/*
|
@@ -62,23 +64,13 @@ _rcdb_reader_iter_aset(VALUE pair, VALUE hash) {
|
|
62
64
|
/* Helper method */
|
63
65
|
static VALUE
|
64
66
|
_rcdb_reader_break_equal(VALUE val, VALUE ary) {
|
65
|
-
|
66
|
-
rb_ary_store(ary, 0, Qtrue);
|
67
|
-
rb_iter_break();
|
68
|
-
}
|
69
|
-
|
70
|
-
return Qnil;
|
67
|
+
RCDB_READER_BREAK_EQUAL(val, Qtrue)
|
71
68
|
}
|
72
69
|
|
73
70
|
/* Helper method */
|
74
71
|
static VALUE
|
75
72
|
_rcdb_reader_break_equal2(VALUE pair, VALUE ary) {
|
76
|
-
|
77
|
-
rb_ary_store(ary, 0, rb_ary_entry(pair, 0));
|
78
|
-
rb_iter_break();
|
79
|
-
}
|
80
|
-
|
81
|
-
return Qnil;
|
73
|
+
RCDB_READER_BREAK_EQUAL(rb_ary_entry(pair, 1), rb_ary_entry(pair, 0))
|
82
74
|
}
|
83
75
|
|
84
76
|
/* Helper method */
|
@@ -92,8 +84,8 @@ _rcdb_reader_break_shift(VALUE val, VALUE ary) {
|
|
92
84
|
|
93
85
|
/* Helper method */
|
94
86
|
static VALUE
|
95
|
-
_rcdb_reader_iter_inc(VALUE val,
|
96
|
-
|
87
|
+
_rcdb_reader_iter_inc(VALUE val, long *i) {
|
88
|
+
++*i;
|
97
89
|
return Qnil;
|
98
90
|
}
|
99
91
|
|
@@ -157,12 +149,7 @@ rcdb_reader_each(int argc, VALUE *argv, VALUE self) {
|
|
157
149
|
unsigned cdbp;
|
158
150
|
VALUE key;
|
159
151
|
|
160
|
-
|
161
|
-
rb_raise(rb_eArgError, "wrong number of arguments (%d for 0-1)", argc);
|
162
|
-
}
|
163
|
-
|
164
|
-
RETURN_ENUMERATOR(self, argc, argv);
|
165
|
-
|
152
|
+
RCDB_RETURN_ENUMERATOR(self, argc, argv, 1);
|
166
153
|
RCDB_READER_GET(self, cdb);
|
167
154
|
|
168
155
|
if (rb_scan_args(argc, argv, "01", &key) == 1 && !NIL_P(key)) {
|
@@ -203,11 +190,7 @@ rcdb_reader_each_dump(int argc, VALUE *argv, VALUE self) {
|
|
203
190
|
VALUE key, args = rb_ary_new3(1, self), ary = rb_ary_new();
|
204
191
|
VALUE (*block)(ANYARGS) = _rcdb_reader_yield_dump;
|
205
192
|
|
206
|
-
|
207
|
-
rb_raise(rb_eArgError, "wrong number of arguments (%d for 0-1)", argc);
|
208
|
-
}
|
209
|
-
|
210
|
-
RETURN_ENUMERATOR(self, argc, argv);
|
193
|
+
RCDB_RETURN_ENUMERATOR(self, argc, argv, 1);
|
211
194
|
|
212
195
|
if (rb_scan_args(argc, argv, "01", &key) == 1 && !NIL_P(key)) {
|
213
196
|
rb_ary_push(ary, key);
|
@@ -438,8 +421,9 @@ rcdb_reader_empty_p(VALUE self) {
|
|
438
421
|
*/
|
439
422
|
static VALUE
|
440
423
|
rcdb_reader_size(VALUE self) {
|
441
|
-
|
442
|
-
|
424
|
+
long i = 0;
|
425
|
+
RCDB_READER_ITERATE1(each_key, iter_inc, (VALUE)&i)
|
426
|
+
return LONG2NUM(i);
|
443
427
|
}
|
444
428
|
|
445
429
|
/*
|
@@ -458,7 +442,7 @@ rcdb_reader_total(VALUE self) {
|
|
458
442
|
cdb_seqinit(&cdbp, cdb);
|
459
443
|
|
460
444
|
while (cdb_seqnext(&cdbp, cdb) > 0) {
|
461
|
-
i
|
445
|
+
++i;
|
462
446
|
}
|
463
447
|
|
464
448
|
return LONG2NUM(i);
|
@@ -26,8 +26,13 @@ _rcdb_reader_call_##iter(VALUE args) {\
|
|
26
26
|
RCDB_READER_ITERATE1(method, block, arg1)\
|
27
27
|
return rb_ary_entry(arg, 0);
|
28
28
|
|
29
|
-
#define
|
30
|
-
RTEST(rb_funcall(
|
29
|
+
#define RCDB_READER_BREAK_EQUAL(val, ret) \
|
30
|
+
if (RTEST(rb_funcall(val, rb_intern("=="), 1, rb_ary_entry(ary, 1)))) {\
|
31
|
+
rb_ary_store(ary, 0, ret);\
|
32
|
+
rb_iter_break();\
|
33
|
+
}\
|
34
|
+
\
|
35
|
+
return Qnil;
|
31
36
|
|
32
37
|
#define RCDB_READER_DEFINE_READ(what) \
|
33
38
|
static VALUE \
|
@@ -44,7 +49,7 @@ _rcdb_reader_read_##what(struct cdb *cdb) {\
|
|
44
49
|
return ret;\
|
45
50
|
}
|
46
51
|
|
47
|
-
VALUE cCDBReader;
|
52
|
+
extern VALUE cCDBReader;
|
48
53
|
void rcdb_init_reader(void);
|
49
54
|
|
50
55
|
#endif /* __RCDB_READER_H__ */
|
@@ -1,5 +1,7 @@
|
|
1
1
|
#include "ruby_libcdb.h"
|
2
2
|
|
3
|
+
VALUE cCDBWriter;
|
4
|
+
|
3
5
|
RCDB_DEFINE_ALLOC(writ, cdb_make)
|
4
6
|
|
5
7
|
/*
|
@@ -154,7 +156,7 @@ rcdb_writer_put(int argc, VALUE *argv, VALUE self, enum cdb_put_mode mode) {
|
|
154
156
|
rcdb_writer_put_value(cdbm, argv[0], argv[1], mode);
|
155
157
|
break;
|
156
158
|
default:
|
157
|
-
|
159
|
+
RCDB_RAISE_ARGS(1, 2)
|
158
160
|
break;
|
159
161
|
}
|
160
162
|
|
data/ext/libcdb/ruby_libcdb.h
CHANGED
Binary file
|
Binary file
|
data/lib/libcdb/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: libcdb-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 25
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 3
|
10
|
+
version: 0.0.3
|
11
11
|
platform: x86-mswin32-60
|
12
12
|
authors:
|
13
13
|
- Jens Wille
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-
|
18
|
+
date: 2012-04-02 00:00:00 Z
|
19
19
|
dependencies: []
|
20
20
|
|
21
21
|
description: Ruby bindings for CDB Constant Databases.
|
@@ -65,11 +65,11 @@ post_install_message:
|
|
65
65
|
rdoc_options:
|
66
66
|
- --main
|
67
67
|
- README
|
68
|
-
- --all
|
69
68
|
- --charset
|
70
69
|
- UTF-8
|
71
70
|
- --title
|
72
|
-
- libcdb-ruby Application documentation (v0.0.
|
71
|
+
- libcdb-ruby Application documentation (v0.0.3)
|
72
|
+
- --all
|
73
73
|
- --line-numbers
|
74
74
|
require_paths:
|
75
75
|
- lib
|
@@ -94,7 +94,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
94
94
|
requirements: []
|
95
95
|
|
96
96
|
rubyforge_project:
|
97
|
-
rubygems_version: 1.8.
|
97
|
+
rubygems_version: 1.8.21
|
98
98
|
signing_key:
|
99
99
|
specification_version: 3
|
100
100
|
summary: Ruby bindings for CDB Constant Databases.
|