mirror of
https://github.com/gnustep/libs-base.git
synced 2025-04-22 16:33:29 +00:00
varargs fix
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@4938 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
f41b8f7d23
commit
b7a603e747
2 changed files with 18 additions and 8 deletions
|
@ -1,3 +1,7 @@
|
|||
Thu Sep 23 20:09:00 1999 Richard Frith-Macdonald <richard@brainstorm.co.uk>
|
||||
|
||||
* Source/Invocation.m: VARARGS fix by ani joshi <ajoshi@wam.umd.edu>
|
||||
|
||||
Tue Sep 21 20:26:00 1999 Richard Frith-Macdonald <richard@brainstorm.co.uk>
|
||||
|
||||
* Headers/Foundation/NSPortNameServer.h: Tidied and removed a few ivars.
|
||||
|
|
|
@ -577,11 +577,19 @@ my_method_get_next_argument (arglist_t argframe,
|
|||
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_TYPE(_C_CHR, int);
|
||||
case _C_UCHR:
|
||||
*(unsigned char*)datum = (unsigned char)va_arg(ap, int);
|
||||
break;
|
||||
case _C_FLT:
|
||||
*(float*)datum = (float)va_arg(ap, int);
|
||||
break;
|
||||
CASE_TYPE(_C_DBL, double);
|
||||
CASE_TYPE(_C_CHARPTR, char*);
|
||||
CASE_TYPE(_C_PTR, void*);
|
||||
|
@ -589,9 +597,7 @@ my_method_get_next_argument (arglist_t argframe,
|
|||
{
|
||||
int copysize;
|
||||
copysize = objc_sizeof_type(tmptype);
|
||||
memcpy(datum,
|
||||
va_arg(ap, typeof(char[copysize])),
|
||||
copysize);
|
||||
memcpy(datum, (char)va_arg(ap, int), copysize);
|
||||
} /* default */
|
||||
}
|
||||
datum = my_method_get_next_argument (argframe, &tmptype);
|
||||
|
|
Loading…
Reference in a new issue