From 9350f99d377e3caf354812cb5fb8590937ad9fb7 Mon Sep 17 00:00:00 2001 From: richard Date: Thu, 21 Oct 1999 09:09:00 +0000 Subject: [PATCH] Fix for some varargs stuff. Structs still broken. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@5044 72102866-910b-0410-8b05-ffd578937521 --- Source/NSInvocation.m | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/Source/NSInvocation.m b/Source/NSInvocation.m index 9a8fb03d2..aebfd62e9 100644 --- a/Source/NSInvocation.m +++ b/Source/NSInvocation.m @@ -588,11 +588,21 @@ CASE_TYPE(_C_ULNG, unsigned long); CASE_TYPE(_C_INT, int); CASE_TYPE(_C_UINT, unsigned int); - CASE_TYPE(_C_SHT, short); - CASE_TYPE(_C_USHT, unsigned short); - CASE_TYPE(_C_CHR, char); - CASE_TYPE(_C_UCHR, unsigned char); - CASE_TYPE(_C_FLT, float); + case _C_SHT: + *(short*)datum = (short)va_arg(ap, int); + break; + case _C_USHT: + *(unsigned short*)datum = (unsigned short)va_arg(ap, int); + break; + case _C_CHR: + *(char*)datum = (char)va_arg(ap, int); + break; + case _C_UCHR: + *(unsigned char*)datum = (unsigned char)va_arg(ap, int); + break; + case _C_FLT: + *(float*)datum = (float)va_arg(ap, double); + break; CASE_TYPE(_C_DBL, double); CASE_TYPE(_C_PTR, void*); case _C_STRUCT_B: