# HG changeset patch # User cslag # Date 1458398609 -3600 # Node ID f2a8dfd795e8936d14b825d62ec042ebae03128c # Parent 8326c5ced9163a92c73849bcf311d72e85e370fa - pointer cast for callf to make C++ compilers happy that don't do void* implicit casts (also, as DC_POINTER might be set to something other than void*, this cast would be needed) diff -r 8326c5ced916 -r f2a8dfd795e8 dyncall/dyncall_callf.c --- a/dyncall/dyncall_callf.c Sun Mar 13 21:49:16 2016 +0100 +++ b/dyncall/dyncall_callf.c Sat Mar 19 15:43:29 2016 +0100 @@ -73,22 +73,22 @@ dcArgF_impl(vm, &ptr, args); switch(*ptr) { - case DC_SIGCHAR_VOID: dcCallVoid (vm,funcptr); break; - case DC_SIGCHAR_BOOL: result->B = dcCallBool (vm,funcptr); break; - case DC_SIGCHAR_CHAR: result->c = dcCallChar (vm,funcptr); break; - case DC_SIGCHAR_UCHAR: result->C = (DCuchar)dcCallChar(vm,funcptr); break; - case DC_SIGCHAR_SHORT: result->s = dcCallShort (vm,funcptr); break; - case DC_SIGCHAR_USHORT: result->S = dcCallShort (vm,funcptr); break; - case DC_SIGCHAR_INT: result->i = dcCallInt (vm,funcptr); break; - case DC_SIGCHAR_UINT: result->I = dcCallInt (vm,funcptr); break; - case DC_SIGCHAR_LONG: result->j = dcCallLong (vm,funcptr); break; - case DC_SIGCHAR_ULONG: result->J = dcCallLong (vm,funcptr); break; - case DC_SIGCHAR_LONGLONG: result->l = dcCallLongLong (vm,funcptr); break; - case DC_SIGCHAR_ULONGLONG: result->L = dcCallLongLong (vm,funcptr); break; - case DC_SIGCHAR_FLOAT: result->f = dcCallFloat (vm,funcptr); break; - case DC_SIGCHAR_DOUBLE: result->d = dcCallDouble (vm,funcptr); break; - case DC_SIGCHAR_POINTER: result->p = dcCallPointer (vm,funcptr); break; - case DC_SIGCHAR_STRING: result->Z = dcCallPointer (vm,funcptr); break; + case DC_SIGCHAR_VOID: dcCallVoid (vm,funcptr); break; + case DC_SIGCHAR_BOOL: result->B = dcCallBool (vm,funcptr); break; + case DC_SIGCHAR_CHAR: result->c = dcCallChar (vm,funcptr); break; + case DC_SIGCHAR_UCHAR: result->C = (DCuchar)dcCallChar (vm,funcptr); break; + case DC_SIGCHAR_SHORT: result->s = dcCallShort (vm,funcptr); break; + case DC_SIGCHAR_USHORT: result->S = dcCallShort (vm,funcptr); break; + case DC_SIGCHAR_INT: result->i = dcCallInt (vm,funcptr); break; + case DC_SIGCHAR_UINT: result->I = dcCallInt (vm,funcptr); break; + case DC_SIGCHAR_LONG: result->j = dcCallLong (vm,funcptr); break; + case DC_SIGCHAR_ULONG: result->J = dcCallLong (vm,funcptr); break; + case DC_SIGCHAR_LONGLONG: result->l = dcCallLongLong (vm,funcptr); break; + case DC_SIGCHAR_ULONGLONG: result->L = dcCallLongLong (vm,funcptr); break; + case DC_SIGCHAR_FLOAT: result->f = dcCallFloat (vm,funcptr); break; + case DC_SIGCHAR_DOUBLE: result->d = dcCallDouble (vm,funcptr); break; + case DC_SIGCHAR_POINTER: result->p = dcCallPointer (vm,funcptr); break; + case DC_SIGCHAR_STRING: result->Z = (DCstring)dcCallPointer(vm,funcptr); break; } }