hiredis 0.3.0 → 0.3.1
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/hiredis_ext/connection.c +7 -3
- data/lib/hiredis/version.rb +1 -1
- metadata +5 -9
@@ -179,6 +179,7 @@ static VALUE connection_disconnect(VALUE self) {
|
|
179
179
|
static VALUE connection_write(VALUE self, VALUE command) {
|
180
180
|
redisParentContext *pc;
|
181
181
|
int argc;
|
182
|
+
VALUE *args;
|
182
183
|
char **argv = NULL;
|
183
184
|
size_t *alen = NULL;
|
184
185
|
int i;
|
@@ -193,12 +194,15 @@ static VALUE connection_write(VALUE self, VALUE command) {
|
|
193
194
|
rb_raise(rb_eRuntimeError,"%s","not connected");
|
194
195
|
|
195
196
|
argc = (int)RARRAY_LEN(command);
|
197
|
+
args = RARRAY_PTR(command);
|
196
198
|
argv = malloc(argc*sizeof(char*));
|
197
199
|
alen = malloc(argc*sizeof(size_t));
|
198
200
|
for (i = 0; i < argc; i++) {
|
199
|
-
|
200
|
-
|
201
|
-
|
201
|
+
/* Replace arguments in the arguments array to prevent their string
|
202
|
+
* equivalents to be garbage collected before this loop is done. */
|
203
|
+
args[i] = rb_obj_as_string(args[i]);
|
204
|
+
argv[i] = RSTRING_PTR(args[i]);
|
205
|
+
alen[i] = RSTRING_LEN(args[i]);
|
202
206
|
}
|
203
207
|
redisAppendCommandArgv(pc->context,argc,(const char**)argv,alen);
|
204
208
|
free(argv);
|
data/lib/hiredis/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hiredis
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
4
|
+
prerelease: false
|
6
5
|
segments:
|
7
6
|
- 0
|
8
7
|
- 3
|
9
|
-
-
|
10
|
-
version: 0.3.
|
8
|
+
- 1
|
9
|
+
version: 0.3.1
|
11
10
|
platform: ruby
|
12
11
|
authors:
|
13
12
|
- Pieter Noordhuis
|
@@ -15,7 +14,7 @@ autorequire:
|
|
15
14
|
bindir: bin
|
16
15
|
cert_chain: []
|
17
16
|
|
18
|
-
date: 2011-02-
|
17
|
+
date: 2011-02-07 00:00:00 +01:00
|
19
18
|
default_executable:
|
20
19
|
dependencies:
|
21
20
|
- !ruby/object:Gem::Dependency
|
@@ -26,7 +25,6 @@ dependencies:
|
|
26
25
|
requirements:
|
27
26
|
- - ~>
|
28
27
|
- !ruby/object:Gem::Version
|
29
|
-
hash: 1
|
30
28
|
segments:
|
31
29
|
- 0
|
32
30
|
- 7
|
@@ -88,7 +86,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
88
86
|
requirements:
|
89
87
|
- - ">="
|
90
88
|
- !ruby/object:Gem::Version
|
91
|
-
hash: 3
|
92
89
|
segments:
|
93
90
|
- 0
|
94
91
|
version: "0"
|
@@ -97,14 +94,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
97
94
|
requirements:
|
98
95
|
- - ">="
|
99
96
|
- !ruby/object:Gem::Version
|
100
|
-
hash: 3
|
101
97
|
segments:
|
102
98
|
- 0
|
103
99
|
version: "0"
|
104
100
|
requirements: []
|
105
101
|
|
106
102
|
rubyforge_project:
|
107
|
-
rubygems_version: 1.
|
103
|
+
rubygems_version: 1.3.7
|
108
104
|
signing_key:
|
109
105
|
specification_version: 3
|
110
106
|
summary: Ruby extension that wraps Hiredis (blocking connection and reply parsing)
|