[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Fix, GDL2, EOQualifier (getKey()): args
From: |
David Ayers |
Subject: |
Re: Fix, GDL2, EOQualifier (getKey()): args |
Date: |
Thu, 24 Apr 2008 09:44:27 +0200 |
User-agent: |
Mozilla-Thunderbird 2.0.0.9 (X11/20080110) |
Georg Fleischmann schrieb:
>> We are looking into this a time permits. Maybe you could open a bug
>> report for this?
>
> Well, I don't have set up an account yet and limited time also... that's
> why i didn't follow-up on the bug-tracking system.
ACK... I can relate :-) no problem.
> I see that you are already pretty close to a solution that works for all
> platforms... :-)
Yes I think so :-). I've attached a patch based on everyones feedback.
It would be great if folks with affected platforms could tell me if it
works for them. (if it's easier I can commit it as a WIP).
> I will continue to dig up and file proposals to issues I encounter while
> fitting my app to GDL2.
Cool.
Cheers,
David
Index: EOControl/EOQualifier.m
===================================================================
--- EOControl/EOQualifier.m (Revision 26465)
+++ EOControl/EOQualifier.m (Arbeitskopie)
@@ -37,6 +37,7 @@
#include <stdio.h>
#include <string.h>
+#include <stdarg.h>
#ifdef GNUSTEP
#include <Foundation/NSCoder.h>
@@ -196,7 +197,7 @@
BOOL *isKeyValue,
BOOL useVAList,
NSEnumerator *argsEnum,
- va_list args)
+ va_list *args)
{
NSMutableString *key;
NSString *classString = nil;
@@ -301,7 +302,7 @@
case '@':
if (useVAList)
{
- argObj = va_arg(args, id);
+ argObj = va_arg(*args, id);
}
else
{
@@ -333,7 +334,7 @@
case 's':
if (useVAList)
{
- argString = va_arg(args, const char *);
+ argString = va_arg(*args, const char *);
}
else
{
@@ -367,7 +368,7 @@
case 'd':
if (useVAList)
{
- argInt = va_arg(args, int);
+ argInt = va_arg(*args, int);
}
else
{
@@ -403,7 +404,7 @@
{
/* 'float' is promoted to 'double' when passed through
'...'
(so you should pass `double' not `float' to `va_arg')
*/
- argFloat = va_arg(args, double);
+ argFloat = va_arg(*args, double);
}
else
{
@@ -589,7 +590,7 @@
}
static EOQualifier *
-_qualifierWithArgs(id self, SEL _cmd, NSString *format, BOOL useVAList,
NSArray *array, va_list args)
+_qualifierWithArgs(id self, SEL _cmd, NSString *format, BOOL useVAList,
NSArray *array, va_list *args)
{
NSEnumerator *argEnum = [array objectEnumerator];
unichar *s0;
@@ -812,13 +813,19 @@
{
va_list varargs;
- return _qualifierWithArgs(self, _cmd, format, NO, args, varargs);
+ return _qualifierWithArgs(self, _cmd, format, NO, args, &varargs);
}
+ (EOQualifier *)qualifierWithQualifierFormat: (NSString *)format
varargList: (va_list)args
{
- return _qualifierWithArgs(self, _cmd, format, YES, nil, args);
+ EOQualifier *qualifier;
+ va_list varargs;
+
+ va_copy(varargs, args);
+ qualifier = _qualifierWithArgs(self, _cmd, format, YES, nil, &varargs);
+ va_end(varargs);
+ return qualifier;
}
+ (EOQualifier *)qualifierToMatchAllValues: (NSDictionary *)values
- Fix, GDL2, EOQualifier (getKey()): args, Georg Fleischmann, 2008/04/22
- Re: Fix, GDL2, EOQualifier (getKey()): args, David Ayers, 2008/04/23
- Re: Fix, GDL2, EOQualifier (getKey()): args, Tim McIntosh, 2008/04/23
- Re: Fix, GDL2, EOQualifier (getKey()): args, David Ayers, 2008/04/23
- Re: Fix, GDL2, EOQualifier (getKey()): args, Tim McIntosh, 2008/04/24
- Re: Fix, GDL2, EOQualifier (getKey()): args, David Ayers, 2008/04/24
- Re: Fix, GDL2, EOQualifier (getKey()): args, Georg Fleischmann, 2008/04/24
- Re: Fix, GDL2, EOQualifier (getKey()): args,
David Ayers <=