ruby-mdbm 0.0.1 → 0.0.2
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.
- checksums.yaml +4 -4
- data/ext/mdbm/extconf.rb +2 -1
- data/ext/mdbm/mdbm.c +4 -5
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aacb952880bddf8756252226fc6135c6c446c75b
|
4
|
+
data.tar.gz: ea105272c65e49d43b486a5f23fd27d89fda9d2f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1002441f9433d9be4397771b6e3b29eaf085894b6f422c081efda4ff900b73ad35189b7bca4e91df07172b50ffa882691b1f2607ccebd9cdb165568b45af1420
|
7
|
+
data.tar.gz: 5964f864cb29c65611fb38f38132f53bc0bc60be972f94a9c47b30f91765d492b4e45dbca9ac0b5c4e5c09c4bce4c86eb23adead78be7fbf36bc865f5c7e7809
|
data/ext/mdbm/extconf.rb
CHANGED
@@ -8,8 +8,9 @@ extension_name = 'mdbm'
|
|
8
8
|
dir_config(extension_name)
|
9
9
|
|
10
10
|
$CFLAGS = "-I/usr/local/include"
|
11
|
+
$LDFLAGS = "-L/usr/local/lib"
|
11
12
|
|
12
|
-
if find_library("mdbm", "mdbm_open", "/
|
13
|
+
if find_library("mdbm", "mdbm_open", "/usr/local/lib")
|
13
14
|
then
|
14
15
|
create_makefile(extension_name)
|
15
16
|
else
|
data/ext/mdbm/mdbm.c
CHANGED
@@ -11,13 +11,11 @@ static void cb_free_mdbm_db(void *p) {
|
|
11
11
|
}
|
12
12
|
|
13
13
|
VALUE method_open(VALUE self, VALUE file, VALUE flags, VALUE mode, VALUE psize, VALUE presize) {
|
14
|
-
rb_iv_set(self, "@foo", INT2NUM(77));
|
15
14
|
MDBM * db;
|
16
15
|
db = mdbm_open(RSTRING_PTR(file), NUM2INT(flags), NUM2INT(mode), NUM2INT(psize), NUM2INT(presize));
|
17
16
|
if (!db) {
|
18
17
|
rb_raise(rb_eRuntimeError, "unable to open mdbm");
|
19
18
|
}
|
20
|
-
printf("db: %p\n", db);
|
21
19
|
rb_iv_set(self, "@db", Data_Wrap_Struct(cMdbm, 0, cb_free_mdbm_db, db));
|
22
20
|
|
23
21
|
return self;
|
@@ -25,11 +23,12 @@ VALUE method_open(VALUE self, VALUE file, VALUE flags, VALUE mode, VALUE psize,
|
|
25
23
|
|
26
24
|
VALUE method_first(VALUE self) {
|
27
25
|
MDBM *db;
|
28
|
-
MDBM_ITER
|
26
|
+
MDBM_ITER iter;
|
29
27
|
VALUE retval = Qnil;
|
30
28
|
Data_Get_Struct(rb_iv_get(self, "@db"), MDBM, db);
|
29
|
+
MDBM_ITER_INIT(&iter);
|
31
30
|
mdbm_lock(db);
|
32
|
-
kvpair pair = mdbm_first_r(db, iter);
|
31
|
+
kvpair pair = mdbm_first_r(db, &iter);
|
33
32
|
if (!(pair.key.dsize == 0 && pair.val.dsize == 0)) {
|
34
33
|
retval = rb_str_new(pair.key.dptr, pair.key.dsize);
|
35
34
|
}
|
@@ -123,7 +122,7 @@ void Init_mdbm() {
|
|
123
122
|
rb_define_method(cMdbm, "fetch", method_fetch, 1);
|
124
123
|
rb_define_method(cMdbm, "[]", method_fetch, 1);
|
125
124
|
rb_define_method(cMdbm, "store", method_store, 3);
|
126
|
-
rb_define_method(cMdbm, "close",
|
125
|
+
rb_define_method(cMdbm, "close", method_close, 0);
|
127
126
|
|
128
127
|
rb_define_const(cMdbm, "MDBM_API_VERSION", INT2NUM(MDBM_API_VERSION));
|
129
128
|
rb_define_const(cMdbm, "MDBM_LOC_NORMAL", INT2NUM(MDBM_LOC_NORMAL));
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-mdbm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Evan Miller
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-06-16 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: MDBM is a super-fast memory-mapped key/value store. https://github.com/yahoo/mdbm
|
14
14
|
email:
|