On 3 Jun 2010, at 14:20, Ken Thomases wrote:
>
>> With the va_list we don't know the number of items.
>> With the format spec we don't know which of the format specifiers are
>> unanticipated.
>
> Again, what constitutes "unanticipated" for a format specifier? If there's
> something like "%@" in the string and it's _not_ intended by the caller to be
> a format specifier, then the caller should have escaped the percent sign by
> doubling it.
>
I think this answers the question.
Once you have a format specifier string and a va_list you are pretty much fully
committed.
My app runs user supplied scripts.
These scripts may contain RubyCocoa statements such as:
OSX::NSLog("task parameters are %@ and %@", a, b)
These scripts may contain errors and the generated error reports may contain
the likes of:
syntax error, unexpected tIDENTIFIER, expecting $end OSX::NSLog("task
parameters are %@ and %@", a, b)
When the error is logged the extra format specifiers trip the code.
Unanticipated transpires to mean unanticipated by me!
All I need to do is sanitise those logging statements that derive from script
errors and escape % as %%.
Thanks and regards
Jonathan Mitchell
Developer
Mugginsoft LLP
http://www.mugginsoft.com
_______________________________________________
Cocoa-dev mailing list ([email protected])
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com
This email sent to [email protected]