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 (Cocoa-dev@lists.apple.com)

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 arch...@mail-archive.com

Reply via email to