275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
|
# File 'ext/fiddle/memory_view.c', line 275
static VALUE
rb_fiddle_memview_to_s(VALUE self)
{
struct memview_data *data;
const char *raw_data;
long byte_size;
VALUE string;
TypedData_Get_Struct(self,
struct memview_data,
&fiddle_memview_data_type,
data);
if (NIL_P(data->view.obj)) {
raw_data = NULL;
byte_size = 0;
} else {
raw_data = data->view.data;
byte_size = data->view.byte_size;
}
string = rb_enc_str_new_static(raw_data, byte_size, rb_ascii8bit_encoding());
{
ID id_memory_view;
CONST_ID(id_memory_view, "memory_view");
rb_ivar_set(string, id_memory_view, self);
}
return rb_obj_freeze(string);
}
|