Something like this? https://gist.github.com/13be5b600700f7a06841
On Wednesday, August 1, 2012 10:08:39 PM UTC-7, Peter Hosey wrote: > > On Wednesday, August 1, 2012 6:06:37 PM UTC-7, x86tech wrote: >> >> Same here. I got so many warnings and errors while building this on ML >> using Xcode 4.4 but I finally built it successfully after some debugging. I >> don't get the same error in Growl.app, you may want to re-clone or update >> again to 1.4 tag. For MailMe, I just edited: >> >> NSString *userAtHostPort = [NSString stringWithFormat: >> >> (port != nil) ? @"%@@%@:%@" : @"%@@%@", <-this part, I'm not an expert >> so I can't tell what should be done but from what I can tell the format >> string must match the number of arguments below? >> >> username, hostname, port]; <- Data argument not used by format string >> >> For other errors I got such as Format String Errors, I just changed them >> to what was suggested. >> > > That line is a bit of cleverness that creates a string like the following: > > > [email protected]:4000 (if a port is specified) > > [email protected] (if no port) > > > The middle expression chooses between two format strings (@"…"). The first > one requires three arguments (each represented by “%@”); the second > requires two. > > > It's not, strictly speaking, an error to pass more arguments than the > format string requires, but it can be caused by changing either the format > string or the argument list (in this line, that's “username, hostname, > port”) and forgetting to change the other. > > > The cleverness here is in *deliberately* passing more arguments than the > second format string requires, since the first format string will use all > three and the second format will simply ignore the extra argument. > > > The code is correct, but the compiler is not wrong, and ignoring warnings > is a good way to create problems later—if somebody makes the aforementioned > change-one-but-not-the-other mistake in a later change, the warning will > not suddenly appear because it was already there, so the person making the > change may not discover their mistake. > > > The correct change to satisfy the compiler and make that code more robust > against future changes would be to have an if statement that selects > between two assignments, each with a different stringWithFormat: message on > the right side. > -- You received this message because you are subscribed to the Google Groups "Growl Discuss" group. To view this discussion on the web visit https://groups.google.com/d/msg/growldiscuss/-/mrCmyiDrfLsJ. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/growldiscuss?hl=en.
