ext/fiddle/handle.c in fiddle-1.0.0 vs ext/fiddle/handle.c in fiddle-1.0.1

- old
+ new

@@ -1,10 +1,8 @@ #include <ruby.h> #include <fiddle.h> -#define SafeStringValueCStr(v) (rb_check_safe_obj(rb_string_value(&v)), StringValueCStr(v)) - VALUE rb_cHandle; struct dl_handle { void *ptr; int open; @@ -74,18 +72,18 @@ fiddle_handle->open = 0; /* Check dlclose for successful return value */ if(ret) { #if defined(HAVE_DLERROR) - rb_raise(rb_eFiddleError, "%s", dlerror()); + rb_raise(rb_eFiddleDLError, "%s", dlerror()); #else - rb_raise(rb_eFiddleError, "could not close handle"); + rb_raise(rb_eFiddleDLError, "could not close handle"); #endif } return INT2NUM(ret); } - rb_raise(rb_eFiddleError, "dlclose() called too many times"); + rb_raise(rb_eFiddleDLError, "dlclose() called too many times"); UNREACHABLE; } static VALUE @@ -143,15 +141,15 @@ case 0: clib = NULL; cflag = RTLD_LAZY | RTLD_GLOBAL; break; case 1: - clib = NIL_P(lib) ? NULL : SafeStringValueCStr(lib); + clib = NIL_P(lib) ? NULL : StringValueCStr(lib); cflag = RTLD_LAZY | RTLD_GLOBAL; break; case 2: - clib = NIL_P(lib) ? NULL : SafeStringValueCStr(lib); + clib = NIL_P(lib) ? NULL : StringValueCStr(lib); cflag = NUM2INT(flag); break; default: rb_bug("rb_fiddle_handle_new"); } @@ -177,16 +175,16 @@ else #endif ptr = dlopen(clib, cflag); #if defined(HAVE_DLERROR) if( !ptr && (err = dlerror()) ){ - rb_raise(rb_eFiddleError, "%s", err); + rb_raise(rb_eFiddleDLError, "%s", err); } #else if( !ptr ){ err = dlerror(); - rb_raise(rb_eFiddleError, "%s", err); + rb_raise(rb_eFiddleDLError, "%s", err); } #endif TypedData_Get_Struct(self, struct dl_handle, &fiddle_handle_data_type, fiddle_handle); if( fiddle_handle->ptr && fiddle_handle->open && fiddle_handle->enable_close ){ dlclose(fiddle_handle->ptr); @@ -278,11 +276,11 @@ { struct dl_handle *fiddle_handle; TypedData_Get_Struct(self, struct dl_handle, &fiddle_handle_data_type, fiddle_handle); if( ! fiddle_handle->open ){ - rb_raise(rb_eFiddleError, "closed handle"); + rb_raise(rb_eFiddleDLError, "closed handle"); } return fiddle_handle_sym(fiddle_handle->ptr, sym); } @@ -317,11 +315,11 @@ # define CHECK_DLERROR if ((err = dlerror()) != 0) { func = 0; } #else # define CHECK_DLERROR #endif void (*func)(); - const char *name = SafeStringValueCStr(symbol); + const char *name = StringValueCStr(symbol); #ifdef HAVE_DLERROR dlerror(); #endif func = (void (*)())(VALUE)dlsym(handle, name); @@ -366,10 +364,10 @@ found: xfree(name_n); } #endif if( !func ){ - rb_raise(rb_eFiddleError, "unknown symbol \"%"PRIsVALUE"\"", symbol); + rb_raise(rb_eFiddleDLError, "unknown symbol \"%"PRIsVALUE"\"", symbol); } return PTR2NUM(func); }