From: Jeff King Date: Wed, 30 Nov 2011 03:20:28 GMT Subject: Re: [PATCH 11/13] strbuf: add strbuf_add*_urlencode Message-ID: <20111130032028.GA24704@sigill.intra.peff.net> In-Reply-To: <4ED56A1C.9050800@lsrfire.ath.cx> On Wed, Nov 30, 2011 at 12:26:20AM +0100, René Scharfe wrote: > >>> +static int is_rfc3986_reserved(char ch) > >>> +{ > >>> + switch (ch) { > >>> + case '!': case '*': case '\'': case '(': case ')': case ';': > >>> + case ':': case '@': case '&': case '=': case '+': case '$': > >>> + case ',': case '/': case '?': case '#': case '[': case ']': > >>> + return 1; > >>> + } > [...] > Sorry for my bikeshedding, but I'd paint it like this: > > return !!strchr("!*'();:@&=+$,/?#[]", ch); I was always under the impression that computed jumps via "switch" would out-perform even an optimized strchr. Of course, I never tested. And I doubt performance is even relevant here, and I admit I don't care overly much. I find them both equally readable. I'm going to leave it as-is unless somebody else wants to say "I strongly prefer version X". -Peff