22763b4
--- rubyrrdtool.c.orig	2012-02-29 10:43:56.000000000 +0100
22763b4
+++ rubyrrdtool.c	2012-02-29 10:46:06.992914897 +0100
22763b4
@@ -94,7 +94,7 @@
22763b4
     Check_Type(strs, T_ARRAY);
22763b4
     
22763b4
     /* set the array length */
22763b4
-    a.len = RARRAY(strs)->len;
22763b4
+    a.len = RARRAY_LEN(strs);
22763b4
     if (name_f)  {  a.len++; }
22763b4
     if (dummy_f) {  a.len++; }
22763b4
     a.strs = ALLOC_N(char*, a.len);
22763b4
@@ -115,7 +115,7 @@
22763b4
     
22763b4
     /* add the rrdname if needed */
22763b4
     if (name_f) {
22763b4
-        a.strs[i] = strdup(STR2CSTR(rrd));
22763b4
+        a.strs[i] = strdup(StringValueCStr(rrd));
22763b4
         i++;
22763b4
     }
22763b4
     
22763b4
@@ -302,7 +302,7 @@
22763b4
     pdp_step = NUM2LONG(ostep);
22763b4
     last_up  = (time_t)NUM2LONG(update);
22763b4
 #ifdef R_RRD_DBG    
22763b4
-    snprintf(buf, NUM_BUF_SZ, "n=[%s] : step=%lu : up=%ld", STR2CSTR(rrd),
22763b4
+    snprintf(buf, NUM_BUF_SZ, "n=[%s] : step=%lu : up=%ld", StringValueCStr(rrd),
22763b4
              pdp_step, (long int)last_up);
22763b4
     buf[NUM_BUF_SZ] = 0;
22763b4
     _dbug(R_RRD_DEBUG_SIM, buf);
22763b4
@@ -313,7 +313,7 @@
22763b4
 #endif
22763b4
     
22763b4
     /* now run the command */
22763b4
-    result = rrd_create_r(STR2CSTR(rrd), pdp_step, last_up, a.len, a.strs);
22763b4
+    result = rrd_create_r(StringValueCStr(rrd), pdp_step, last_up, a.len, a.strs);
22763b4
 
22763b4
 #ifdef R_RRD_DBG
22763b4
     _dbug(R_RRD_DEBUG_SIM, "cleanup");
22763b4
@@ -368,7 +368,7 @@
22763b4
     /* type checking */
22763b4
     Check_Type(output, T_STRING);
22763b4
     
22763b4
-    ret = rrd_dump_r(STR2CSTR(rrd), STR2CSTR(output));
22763b4
+    ret = rrd_dump_r(StringValueCStr(rrd), StringValueCStr(output));
22763b4
     if (ret == -1) {
22763b4
         RRD_RAISE;
22763b4
         rval = Qnil;
22763b4
@@ -413,7 +413,7 @@
22763b4
         idx = NUM2INT(orra_idx);
22763b4
     }
22763b4
     
22763b4
-    when = rrd_first_r(STR2CSTR(rrd), idx);
22763b4
+    when = rrd_first_r(StringValueCStr(rrd), idx);
22763b4
     if (when == -1) {
22763b4
         RRD_RAISE;
22763b4
         rval = Qnil;
22763b4
@@ -423,7 +423,7 @@
22763b4
     
22763b4
 #ifdef R_RRD_DBG    
22763b4
     snprintf(buf, NUM_BUF_SZ, "first: rrd=[%s] : idx=%d : val=%ld",
22763b4
-             STR2CSTR(rrd), idx, when);
22763b4
+             StringValueCStr(rrd), idx, when);
22763b4
     buf[NUM_BUF_SZ] = 0;
22763b4
     _dbug(R_RRD_DEBUG_SIM, buf);
22763b4
 #endif
22763b4
@@ -456,7 +456,7 @@
22763b4
     
22763b4
     rrd = rb_iv_get(self, "@rrdname");
22763b4
     
22763b4
-    when = rrd_last_r(STR2CSTR(rrd));
22763b4
+    when = rrd_last_r(StringValueCStr(rrd));
22763b4
     if (when == -1) {
22763b4
         RRD_RAISE;
22763b4
         rval = Qnil;
22763b4
@@ -465,7 +465,7 @@
22763b4
     }
22763b4
     
22763b4
 #ifdef R_RRD_DBG    
22763b4
-    snprintf(buf, NUM_BUF_SZ, "last: rrd=[%s] : val=%ld", STR2CSTR(rrd), when);
22763b4
+    snprintf(buf, NUM_BUF_SZ, "last: rrd=[%s] : val=%ld", StringValueCStr(rrd), when);
22763b4
     buf[NUM_BUF_SZ] = 0;
22763b4
     _dbug(R_RRD_DEBUG_SIM, buf);
22763b4
 #endif
22763b4
@@ -579,14 +579,14 @@
22763b4
     tmpl = StringValue(otemp);
22763b4
     
22763b4
 #ifdef R_RRD_DBG    
22763b4
-    snprintf(buf, NUM_BUF_SZ, "n=[%s] : tmpl=%s", STR2CSTR(rrd), STR2CSTR(tmpl));
22763b4
+    snprintf(buf, NUM_BUF_SZ, "n=[%s] : tmpl=%s", StringValueCStr(rrd), StringValueCStr(tmpl));
22763b4
     buf[NUM_BUF_SZ] = 0;
22763b4
     _dbug(R_RRD_DEBUG_SIM, buf);
22763b4
 #endif
22763b4
     a = s_arr_new(self, false, false, args);
22763b4
     
22763b4
     /* now run the command */
22763b4
-    result = rrd_update_r(STR2CSTR(rrd), STR2CSTR(tmpl), a.len, a.strs);
22763b4
+    result = rrd_update_r(StringValueCStr(rrd), StringValueCStr(tmpl), a.len, a.strs);
22763b4
     /* cleanup */
22763b4
     s_arr_del(a);
22763b4
 
22763b4
@@ -717,14 +717,14 @@
22763b4
     
22763b4
 #ifdef R_RRD_DBG    
22763b4
     snprintf(buf, NUM_BUF_SZ, "restore: xml=%s rrd=%s",
22763b4
-             STR2CSTR(xml), STR2CSTR(rrd));
22763b4
+             StringValueCStr(xml), StringValueCStr(rrd));
22763b4
     buf[NUM_BUF_SZ] = 0;
22763b4
     _dbug(R_RRD_DEBUG_SIM, buf);
22763b4
 #endif
22763b4
     a = s_arr_new(self, false, false, args);
22763b4
-    s_arr_push(STR2CSTR(rrd), &a);
22763b4
-    s_arr_push(STR2CSTR(xml), &a);
22763b4
-    s_arr_push(STR2CSTR(xml), &a);
22763b4
+    s_arr_push(StringValueCStr(rrd), &a);
22763b4
+    s_arr_push(StringValueCStr(xml), &a);
22763b4
+    s_arr_push(StringValueCStr(xml), &a);
22763b4
     
22763b4
     /* now run the command */
22763b4
     result = rrd_restore(a.len, a.strs);
22763b4
@@ -998,7 +998,7 @@
22763b4
     reset_rrd_state();
22763b4
     
22763b4
     rrd = rb_iv_get(self, "@rrdname");
22763b4
-    data = rrd_info_r(STR2CSTR(rrd));
22763b4
+    data = rrd_info_r(StringValueCStr(rrd));
22763b4
 
22763b4
     RRD_CHECK_ERROR;
22763b4
 
22763b4
@@ -1054,7 +1054,7 @@
22763b4
     rrdname = StringValue(ofname);
22763b4
     rb_iv_set(self, "@rrdname", rrdname);
22763b4
 #ifdef R_RRD_DBG    
22763b4
-    snprintf(buf, NUM_BUF_SZ, "rrdname=[%s]", STR2CSTR(rrdname));
22763b4
+    snprintf(buf, NUM_BUF_SZ, "rrdname=[%s]", StringValueCStr(rrdname));
22763b4
     buf[NUM_BUF_SZ] = 0;
22763b4
     _dbug(R_RRD_DEBUG_SIM, buf);
22763b4
 #endif