diff options
author | Lars Kanis <lars@greiz-reinsdorf.de> | 2021-02-28 17:54:04 +0100 |
---|---|---|
committer | Lars Kanis <lars@greiz-reinsdorf.de> | 2021-02-28 17:54:04 +0100 |
commit | 0f64194dd39350f16edb9540c9feba29a72c858c (patch) | |
tree | 3dfac8ca15ac2b8c81aeb5b0b29d8eccd2af98d3 | |
parent | 2b83f6cf6b3d944b133b9961b0efc424fba1edcb (diff) | |
download | ffi-0f64194dd39350f16edb9540c9feba29a72c858c.tar.gz |
Remove unused NATIVE_CALLBACK enum
-rw-r--r-- | ext/ffi_c/Call.c | 1 | ||||
-rw-r--r-- | ext/ffi_c/Function.c | 2 | ||||
-rw-r--r-- | ext/ffi_c/StructLayout.c | 1 | ||||
-rw-r--r-- | ext/ffi_c/Types.c | 13 | ||||
-rw-r--r-- | ext/ffi_c/Types.h | 7 | ||||
-rw-r--r-- | ext/ffi_c/Variadic.c | 1 |
6 files changed, 9 insertions, 16 deletions
diff --git a/ext/ffi_c/Call.c b/ext/ffi_c/Call.c index 124fe1e..86ce3b9 100644 --- a/ext/ffi_c/Call.c +++ b/ext/ffi_c/Call.c @@ -310,7 +310,6 @@ rbffi_SetupCallParams(int argc, VALUE* argv, int paramCount, Type** paramTypes, case NATIVE_FUNCTION: - case NATIVE_CALLBACK: if (callbackProc != Qnil) { param->ptr = callback_param(callbackProc, callbackParameters[cbidx++]); } else { diff --git a/ext/ffi_c/Function.c b/ext/ffi_c/Function.c index 305f8b1..671caee 100644 --- a/ext/ffi_c/Function.c +++ b/ext/ffi_c/Function.c @@ -711,7 +711,6 @@ invoke_callback(VALUE data) break; case NATIVE_FUNCTION: - case NATIVE_CALLBACK: case NATIVE_STRUCT: param = rbffi_NativeValue_ToRuby(paramType, rbParamType, parameters[i]); break; @@ -787,7 +786,6 @@ invoke_callback(VALUE data) break; case NATIVE_FUNCTION: - case NATIVE_CALLBACK: if (TYPE(rbReturnValue) == T_DATA && rb_obj_is_kind_of(rbReturnValue, rbffi_PointerClass)) { *((void **) retval) = ((AbstractMemory *) DATA_PTR(rbReturnValue))->address; diff --git a/ext/ffi_c/StructLayout.c b/ext/ffi_c/StructLayout.c index 1ed5ed1..d318b8c 100644 --- a/ext/ffi_c/StructLayout.c +++ b/ext/ffi_c/StructLayout.c @@ -123,7 +123,6 @@ struct_field_initialize(int argc, VALUE* argv, VALUE self) switch (field->type->nativeType == NATIVE_MAPPED ? ((MappedType *) field->type)->type->nativeType : field->type->nativeType) { case NATIVE_FUNCTION: - case NATIVE_CALLBACK: case NATIVE_POINTER: field->referenceRequired = true; break; diff --git a/ext/ffi_c/Types.c b/ext/ffi_c/Types.c index bb757c9..77741e0 100644 --- a/ext/ffi_c/Types.c +++ b/ext/ffi_c/Types.c @@ -85,10 +85,9 @@ rbffi_NativeValue_ToRuby(Type* type, VALUE rbType, const void* ptr) return rbffi_Pointer_NewInstance(*(void **) ptr); case NATIVE_BOOL: return ((unsigned char) *(ffi_arg *) ptr) ? Qtrue : Qfalse; - - case NATIVE_FUNCTION: - case NATIVE_CALLBACK: { - return *(void **) ptr != NULL + + case NATIVE_FUNCTION: { + return *(void **) ptr != NULL ? rbffi_Function_NewInstance(rbType, rbffi_Pointer_NewInstance(*(void **) ptr)) : Qnil; } @@ -116,15 +115,15 @@ rbffi_NativeValue_ToRuby(Type* type, VALUE rbType, const void* ptr) values[0] = rbffi_NativeValue_ToRuby(m->type, m->rbType, ptr); values[1] = Qnil; - + rbReturnValue = rb_funcall2(m->rbConverter, id_from_native, 2, values); RB_GC_GUARD(values[0]); RB_GC_GUARD(rbType); - + return rbReturnValue; } - + default: rb_raise(rb_eRuntimeError, "Unknown type: %d", type->nativeType); return Qnil; diff --git a/ext/ffi_c/Types.h b/ext/ffi_c/Types.h index 0d4806f..4b72320 100644 --- a/ext/ffi_c/Types.h +++ b/ext/ffi_c/Types.h @@ -51,20 +51,19 @@ typedef enum { NATIVE_FLOAT64, NATIVE_LONGDOUBLE, NATIVE_POINTER, - NATIVE_CALLBACK, NATIVE_FUNCTION, NATIVE_BUFFER_IN, NATIVE_BUFFER_OUT, NATIVE_BUFFER_INOUT, NATIVE_CHAR_ARRAY, NATIVE_BOOL, - + /** An immutable string. Nul terminated, but only copies in to the native function */ NATIVE_STRING, - + /** The function takes a variable number of arguments */ NATIVE_VARARGS, - + /** Struct-by-value param or result */ NATIVE_STRUCT, diff --git a/ext/ffi_c/Variadic.c b/ext/ffi_c/Variadic.c index 4c74d26..8ad38b1 100644 --- a/ext/ffi_c/Variadic.c +++ b/ext/ffi_c/Variadic.c @@ -214,7 +214,6 @@ variadic_invoke(VALUE self, VALUE parameterTypes, VALUE parameterValues) break; case NATIVE_FUNCTION: - case NATIVE_CALLBACK: if (!rb_obj_is_kind_of(rbType, rbffi_FunctionTypeClass)) { VALUE typeName = rb_funcall2(rbType, rb_intern("inspect"), 0, NULL); rb_raise(rb_eTypeError, "Incorrect parameter type (%s)", RSTRING_PTR(typeName)); |