summaryrefslogtreecommitdiff
path: root/textproc/hyperestraier/patches/patch-af
blob: 7590e866cc8e570c90a3d48e56bdec38093d391f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
$NetBSD: patch-af,v 1.1 2010/09/10 08:25:17 taca Exp $

Use modern Ruby API.

--- rubynative/src/estraier.c.orig	2007-04-12 01:52:50.000000000 +0000
+++ rubynative/src/estraier.c
@@ -351,7 +351,7 @@ static VALUE doc_make_snippet(VALUE vsel
   vdoc = rb_iv_get(vself, VNDATA);
   Data_Get_Struct(vdoc, ESTDOC, doc);
   Check_Type(vwords, T_ARRAY);
-  len = RARRAY(vwords)->len;
+  len = RARRAY_LEN(vwords);
   for(i = 0; i < len; i++){
     Check_Type(rb_ary_entry(vwords, i), T_STRING);
   }
@@ -764,7 +764,7 @@ static VALUE db_search_meta(VALUE vself,
   CBMAP *hints;
   int i, dnum, *res, rnum;
   Check_Type(vdbs, T_ARRAY);
-  dnum = RARRAY(vdbs)->len;
+  dnum = RARRAY_LEN(vdbs);
   dbs = cbmalloc(dnum * sizeof(ESTMTDB *) + 1);
   for(i = 0; i < dnum; i++){
     vdb = rb_ary_entry(vdbs, i);
@@ -1189,10 +1189,10 @@ static CBLIST *objtocblist(VALUE obj){
   VALUE str;
   int i, len;
   list = cblistopen();
-  len = RARRAY(obj)->len;
+  len = RARRAY_LEN(obj);
   for(i = 0; i < len; i++){
     str = rb_ary_entry(obj, i);
-    cblistpush(list, RSTRING(str)->ptr, RSTRING(str)->len);
+    cblistpush(list, RSTRING_PTR(str), RSTRING_LEN(str));
   }
   return list;
 }
@@ -1218,14 +1218,14 @@ static CBMAP *objtocbmap(VALUE obj){
   int i, len;
   map = cbmapopenex(31);
   keys = rb_funcall(obj, rb_intern("keys"), 0);
-  len = RARRAY(keys)->len;
+  len = RARRAY_LEN(keys);
   for(i = 0; i < len; i++){
     key = rb_ary_entry(keys, i);
     val = rb_hash_aref(obj, key);
     key = rb_String(key);
     val = rb_String(val);
-    cbmapput(map, RSTRING(key)->ptr, RSTRING(key)->len,
-             RSTRING(val)->ptr, RSTRING(val)->len, 0);
+    cbmapput(map, RSTRING_PTR(key), RSTRING_LEN(key),
+             RSTRING_PTR(val), RSTRING_LEN(val), 0);
   }
   return map;
 }