$NetBSD: patch-ae,v 1.3 2010/09/13 03:05:24 taca Exp $

Use modern Ruby's API.

--- ruby/ext/hdf/neo_cs.c.orig	2007-02-16 00:31:39.000000000 +0000
+++ ruby/ext/hdf/neo_cs.c
@@ -19,7 +19,7 @@ extern VALUE eHdfError;
 
 VALUE r_neo_error(NEOERR *err);
 
-#define Srb_raise(val) rb_raise(eHdfError, "%s/%d %s",__FILE__,__LINE__,RSTRING(val)->ptr)
+#define Srb_raise(val) rb_raise(eHdfError, "%s/%d %s",__FILE__,__LINE__,RSTRING_PTR(val))
 
 static void c_free (CSPARSE *csd) {
   if (csd) {
@@ -57,7 +57,7 @@ static VALUE c_parse_file (VALUE self, V
   char *path;
 
   Data_Get_Struct(self, CSPARSE, cs);
-  path = STR2CSTR(oPath);
+  path = StringValuePtr(oPath);
 
   err = cs_parse_file (cs, path);
   if (err) Srb_raise(r_neo_error(err));
@@ -73,7 +73,9 @@ static VALUE c_parse_str (VALUE self, VA
   long l;
 
   Data_Get_Struct(self, CSPARSE, cs);
-  s = rb_str2cstr(oString, &l);
+  StringValue(oString);
+  s= RSTRING_PTR(oString);
+  l = RSTRING_LEN(oString);
 
   /* This should be changed to use memory from the gc */
   ms = strdup(s);
