From: René Scharfe Date: Tue, 29 Nov 2011 23:26:20 GMT Subject: Re: [PATCH 11/13] strbuf: add strbuf_add*_urlencode Message-ID: <4ED56A1C.9050800@lsrfire.ath.cx> In-Reply-To: <20111129211950.GD1793@sigill.intra.peff.net> Am 29.11.2011 22:19, schrieb Jeff King: > On Tue, Nov 29, 2011 at 10:19:00AM -0800, Junio C Hamano 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; >>> + } >>> + return 0; >>> +} >> >> Part of me wonders if we still have extra bits in sane_ctype[] array but >> that one is cumbersome to update, and the above should be easier to read >> and maintain. > > We have 2 bits left. I did consider it, but it just seemed excessively > cumbersome for something that really doesn't need to be that fast (if it > is indeed any faster than this case statement). Sorry for my bikeshedding, but I'd paint it like this: return !!strchr("!*'();:@&=+$,/?#[]", ch); René