25 *wrap = (addrnum !=
func) ? func : 0;
58 return data ?
sizeof(*data) + data->
size : 0;
104 memset(ptr,0,(
size_t)size);
118 else if (val ==
Qnil) {
161 if (
rb_scan_args(argc, argv,
"12", &ptr, &size, &sym) >= 1) {
163 if (addrnum != ptr) wrap =
ptr;
180 data->
wrap[1] = funcwrap;
216 rb_bug(
"rb_dlptr_s_malloc");
387 rb_bug(
"rb_dlptr_to_str");
406 snprintf(str, 1023,
"#<%s:%p ptr=%p size=%ld free=%p>",
512 retval =
INT2NUM(*((
char *)data->
ptr + offset));
520 rb_bug(
"rb_dlptr_aref()");
537 VALUE arg0, arg1, arg2;
545 switch(
rb_scan_args(argc, argv,
"21", &arg0, &arg1, &arg2) ){
563 memcpy((
char *)data->
ptr + offset, mem, len);
567 rb_bug(
"rb_dlptr_aset()");
630 if (num == val) wrap = 0;