mecab-light 1.0.0 → 1.0.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.
- checksums.yaml +4 -4
- data/ext/mecab/light.c +24 -7
- 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: fd0c56af90db21074dfcde684800b72136d1f25e
|
4
|
+
data.tar.gz: 8b138d9551a7e24f396728545e665262d3f321fa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dab8363385620a185a1e6ec1a17b35c69f9db912abc6ce704e5234d1dd7a56ae8b602f09b3cbc24fcd59db1803a130d3ad0ead5662985ac5313a5407ebdc6328
|
7
|
+
data.tar.gz: 15ae8b7e124c519139d49f6dad5814d8128eaee462c7d42ab82f55d33b20c4edcb481fa10e87ade2bba78c2f5741125f379ed61873986b2eed5a6ffb29b727e6
|
data/ext/mecab/light.c
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
#define MECAB_LIGHT_MAJOR_VERSION 1
|
6
6
|
#define MECAB_LIGHT_MINOR_VERSION 0
|
7
|
-
#define MECAB_LIGHT_PATCH_VERSION
|
7
|
+
#define MECAB_LIGHT_PATCH_VERSION 1
|
8
8
|
|
9
9
|
typedef struct {
|
10
10
|
mecab_model_t* ptr;
|
@@ -40,6 +40,7 @@ static void
|
|
40
40
|
model_free(Model* model)
|
41
41
|
{
|
42
42
|
mecab_model_destroy(model->ptr);
|
43
|
+
free(model);
|
43
44
|
}
|
44
45
|
|
45
46
|
static VALUE
|
@@ -53,6 +54,7 @@ static void
|
|
53
54
|
tagger_free(Tagger* tagger)
|
54
55
|
{
|
55
56
|
mecab_destroy(tagger->ptr);
|
57
|
+
free(tagger);
|
56
58
|
}
|
57
59
|
|
58
60
|
static VALUE
|
@@ -66,6 +68,7 @@ static void
|
|
66
68
|
lattice_free(Lattice* lattice)
|
67
69
|
{
|
68
70
|
mecab_lattice_destroy(lattice->ptr);
|
71
|
+
free(lattice);
|
69
72
|
}
|
70
73
|
|
71
74
|
static VALUE
|
@@ -75,6 +78,18 @@ lattice_alloc(VALUE klass)
|
|
75
78
|
return Data_Wrap_Struct(klass, 0, lattice_free, lattice);
|
76
79
|
}
|
77
80
|
|
81
|
+
static void
|
82
|
+
node_free(Node* node)
|
83
|
+
{
|
84
|
+
free(node);
|
85
|
+
}
|
86
|
+
|
87
|
+
static void
|
88
|
+
result_free(Result* result)
|
89
|
+
{
|
90
|
+
free(result);
|
91
|
+
}
|
92
|
+
|
78
93
|
static VALUE
|
79
94
|
rb_model_initialize(VALUE self, VALUE arg)
|
80
95
|
{
|
@@ -129,7 +144,7 @@ rb_tagger_parse(VALUE self, VALUE arg)
|
|
129
144
|
rb_raise(rb_eTypeError, "The argument should be String or MeCab::Light::Lattice");
|
130
145
|
}
|
131
146
|
rb_cResult = rb_define_class_under(name_space(), "Result", rb_cObject);
|
132
|
-
return Data_Wrap_Struct(rb_cResult, 0,
|
147
|
+
return Data_Wrap_Struct(rb_cResult, 0, result_free, result);
|
133
148
|
}
|
134
149
|
|
135
150
|
static VALUE
|
@@ -166,16 +181,18 @@ rb_result_each(VALUE self)
|
|
166
181
|
{
|
167
182
|
Result* result;
|
168
183
|
Node* node;
|
184
|
+
mecab_node_t* m_node;
|
169
185
|
VALUE rb_cNode;
|
170
186
|
|
171
187
|
RETURN_SIZED_ENUMERATOR(self, 0, 0, result_enum_length);
|
172
188
|
Data_Get_Struct(self, Result, result);
|
173
|
-
|
174
|
-
node->ptr = result->bos_node->next;
|
175
|
-
node->enc = result->enc;
|
189
|
+
m_node = result->bos_node->next;
|
176
190
|
rb_cNode = rb_define_class_under(name_space(), "Node", rb_cObject);
|
177
|
-
for (;
|
178
|
-
|
191
|
+
for (; m_node->next; m_node = m_node->next) {
|
192
|
+
node = ALLOC(Node);
|
193
|
+
node->ptr = m_node;
|
194
|
+
node->enc = result->enc;
|
195
|
+
rb_yield(Data_Wrap_Struct(rb_cNode, 0, node_free, node));
|
179
196
|
}
|
180
197
|
return self;
|
181
198
|
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mecab-light
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hajime Wakahara
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-07-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|