--- audiofile.c.orig 2003-08-10 00:29:57.000000000 +0100 +++ audiofile.c 2011-04-18 06:58:15.000000000 +0100 @@ -161,7 +161,7 @@ /* get mode into a C-string */ mode = malloc(2); - mode[0] = *(RSTRING(v_mode)->ptr); + mode[0] = *(RSTRING_PTR(v_mode)); mode[1] = '\0'; switch(*mode) { @@ -188,7 +188,7 @@ switch(*mode) { case 'r': - fh = afOpenFile(RSTRING(v_fn)->ptr, mode, AF_NULL_FILESETUP); + fh = afOpenFile(RSTRING_PTR(v_fn), mode, AF_NULL_FILESETUP); if(fh != AF_NULL_FILEHANDLE) { afp = ALLOC(struct af_data); DATA_PTR(obj) = afp; @@ -212,8 +212,8 @@ case 'w': - fn = malloc(RSTRING(v_fn)->len+1); - strcpy(fn, RSTRING(v_fn)->ptr); + fn = malloc(RSTRING_LEN(v_fn)+1); + strcpy(fn, RSTRING_PTR(v_fn)); afp = ALLOC(struct af_data); DATA_PTR(obj) = afp; @@ -335,8 +335,8 @@ Check_Type(readIntoString, T_STRING); - bytes = RSTRING(readIntoString)->len; - buf = RSTRING(readIntoString)->ptr; + bytes = RSTRING_LEN(readIntoString); + buf = RSTRING_PTR(readIntoString); frame_size = afGetFrameSize(afp->handle, AF_DEFAULT_TRACK, EXPAND_3TO4); frames = bytes / frame_size; @@ -357,8 +357,8 @@ GetAFP(obj, afp); Check_Type(writeFromString, T_STRING); - bytes = RSTRING(writeFromString)->len; - buf = RSTRING(writeFromString)->ptr; + bytes = RSTRING_LEN(writeFromString); + buf = RSTRING_PTR(writeFromString); frame_size = afGetFrameSize(afp->handle, AF_DEFAULT_TRACK, EXPAND_3TO4); frames = bytes / frame_size; @@ -679,18 +679,18 @@ struct af_data *afp; Check_Type(args, T_ARRAY); - if(RARRAY(args)->len != 1) { + if(RARRAY_LEN(args) != 1) { rb_raise(rb_eArgError, "incorrect argument(s) to AudioFile#pcm_mapping="); } - args = *(RARRAY(args)->ptr); - if(RARRAY(args)->len != 4) { + args = *(RARRAY_PTR(args)); + if(RARRAY_LEN(args) != 4) { rb_raise(rb_eArgError, "incorrect argument(s) to AudioFile#pcm_mapping="); } - v_slope = RARRAY(args)->ptr[0]; - v_intercept = RARRAY(args)->ptr[1]; - v_min_clip = RARRAY(args)->ptr[2]; - v_max_clip = RARRAY(args)->ptr[3]; + v_slope = RARRAY_PTR(args)[0]; + v_intercept = RARRAY_PTR(args)[1]; + v_min_clip = RARRAY_PTR(args)[2]; + v_max_clip = RARRAY_PTR(args)[3]; Check_Type(v_slope, T_FLOAT); Check_Type(v_intercept, T_FLOAT); Check_Type(v_min_clip, T_FLOAT); @@ -700,12 +700,12 @@ if(af_is_open(afp)) { afSetTrackPCMMapping(afp->handle, AF_DEFAULT_TRACK, - RFLOAT(v_slope)->value, RFLOAT(v_intercept)->value, - RFLOAT(v_min_clip)->value, RFLOAT(v_max_clip)->value); + RFLOAT_VALUE(v_slope), RFLOAT_VALUE(v_intercept), + RFLOAT_VALUE(v_min_clip), RFLOAT_VALUE(v_max_clip)); } else { afInitPCMMapping(afp->setup, AF_DEFAULT_TRACK, - RFLOAT(v_slope)->value, RFLOAT(v_intercept)->value, - RFLOAT(v_min_clip)->value, RFLOAT(v_max_clip)->value); + RFLOAT_VALUE(v_slope), RFLOAT_VALUE(v_intercept), + RFLOAT_VALUE(v_min_clip), RFLOAT_VALUE(v_max_clip)); } return Qnil;