From: Nguyen Thai Ngoc Duy <pclouds@gmail.com>
To: "René Scharfe" <rene.scharfe@lsrfire.ath.cx>
Cc: git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>
Subject: Re: [PATCH v5 02/12] ctype: support iscntrl, ispunct, isxdigit and isprint
Date: Sun, 14 Oct 2012 20:25:10 +0700 [thread overview]
Message-ID: <CACsJy8B+6OPkP6ijMDzm+n0eHnDZ4Pj8UO_KasdfEP4wF+_hww@mail.gmail.com> (raw)
In-Reply-To: <507AB73D.8010406@lsrfire.ath.cx>
On Sun, Oct 14, 2012 at 7:59 PM, René Scharfe
<rene.scharfe@lsrfire.ath.cx> wrote:
>> +const unsigned char sane_ctype2[256] = {
>> + CN, CN, CN, CN, CN, CN, CN, CN, CN, CN, CN, CN, CN, CN, CN, CN, /*
>> 0..15 */
>> + CN, CN, CN, CN, CN, CN, CN, CN, CN, CN, CN, CN, CN, CN, CN, CN, /*
>> 16..31 */
>> + 0, PU, PU, PU, PU, PU, PU, PU, PU, PU, PU, PU, PU, PU, PU, PU, /*
>> 32..47 */
>> + XD, XD, XD, XD, XD, XD, XD, XD, XD, XD, PU, PU, PU, PU, PU, PU, /*
>> 48..63 */
>> + PU, 0, XD, 0, XD, 0, XD, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*
>> 64..79 */
>> + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, PU, PU, PU, PU, PU, /*
>> 80..95 */
>> + PU, 0, XD, 0, XD, 0, XD, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*
>> 96..111 */
>> + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, PU, PU, PU, PU, CN, /*
>> 112..127 */
>
>
> Shouldn't [ace] (65, 67, 69) and [ACE] (97, 99, 101) be xdigits as well?
Hmm.. I generated it from LANG=C. I wonder where I got it wrong..
> But how about using the existing hexval_table instead, like this:
>
> #define isxdigit(x) (hexval_table[(x)] != -1)
>
> With that, couldn't you squeeze the other two classes into the existing
> sane_type?
No there are still conflicts: 9, 10 and 13 as spaces (vs controls) and
123, 124 and 126 as regex/pathspec special (vs punctuation).
> By the way, I'm working on a patch series for implementing a lot more
> character classes with table lookups. It grew out of a desire to make
> bad_ref_char() faster but perhaps got a bit out of hand by now; it's at 24
> patches and still not finished. I'm curious how long we have until it
> escapes. ;-)
I don't think the series is going to graduate any time soon :)
--
Duy
next prev parent reply other threads:[~2012-10-14 13:26 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-14 2:34 [PATCH v5 00/12] nd/wildmatch Nguyễn Thái Ngọc Duy
2012-10-14 2:34 ` [PATCH v5 01/12] ctype: make sane_ctype[] const array Nguyễn Thái Ngọc Duy
2012-10-14 2:35 ` [PATCH v5 02/12] ctype: support iscntrl, ispunct, isxdigit and isprint Nguyễn Thái Ngọc Duy
2012-10-14 5:02 ` Junio C Hamano
2012-10-14 5:07 ` Nguyen Thai Ngoc Duy
2012-10-14 12:59 ` René Scharfe
2012-10-14 13:25 ` Nguyen Thai Ngoc Duy [this message]
2012-10-14 13:59 ` René Scharfe
2012-10-14 14:26 ` Nguyen Thai Ngoc Duy
2012-10-17 12:09 ` "Jan H. Schönherr"
2012-10-17 12:26 ` Nguyen Thai Ngoc Duy
2012-11-13 10:46 ` [PATCH nd/wildmatch] Correct Git's version of isprint and isspace Nguyễn Thái Ngọc Duy
2012-11-13 18:58 ` "Jan H. Schönherr"
2012-11-13 19:14 ` René Scharfe
2012-11-13 19:15 ` René Scharfe
2012-11-13 19:40 ` Linus Torvalds
2012-11-13 19:50 ` Linus Torvalds
2012-11-14 19:30 ` René Scharfe
2012-11-13 19:41 ` Johannes Sixt
2012-11-15 12:19 ` [PATCH] wildmatch: correct " Nguyễn Thái Ngọc Duy
2012-11-15 17:13 ` "Jan H. Schönherr"
2012-11-16 4:19 ` Nguyen Thai Ngoc Duy
2012-10-14 2:35 ` [PATCH v5 03/12] Import wildmatch from rsync Nguyễn Thái Ngọc Duy
2012-10-14 2:35 ` [PATCH v5 04/12] wildmatch: remove unnecessary functions Nguyễn Thái Ngọc Duy
2012-10-14 5:04 ` Junio C Hamano
2012-10-14 6:29 ` Nguyen Thai Ngoc Duy
2012-10-14 2:35 ` [PATCH v5 05/12] Integrate wildmatch to git Nguyễn Thái Ngọc Duy
2012-10-14 5:06 ` Junio C Hamano
2012-10-14 11:07 ` Torsten Bögershausen
2012-10-14 2:35 ` [PATCH v5 06/12] t3070: disable unreliable fnmatch tests Nguyễn Thái Ngọc Duy
2012-10-14 2:35 ` [PATCH v5 07/12] wildmatch: make wildmatch's return value compatible with fnmatch Nguyễn Thái Ngọc Duy
2012-10-14 5:09 ` Junio C Hamano
2012-10-14 2:35 ` [PATCH v5 08/12] wildmatch: remove static variable force_lower_case Nguyễn Thái Ngọc Duy
2012-10-14 2:35 ` [PATCH v5 09/12] wildmatch: fix case-insensitive matching Nguyễn Thái Ngọc Duy
2012-10-14 2:35 ` [PATCH v5 10/12] wildmatch: adjust "**" behavior Nguyễn Thái Ngọc Duy
2012-10-14 2:35 ` [PATCH v5 11/12] wildmatch: make /**/ match zero or more directories Nguyễn Thái Ngọc Duy
2012-10-14 2:35 ` [PATCH v5 12/12] Support "**" wildcard in .gitignore and .gitattributes Nguyễn Thái Ngọc Duy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CACsJy8B+6OPkP6ijMDzm+n0eHnDZ4Pj8UO_KasdfEP4wF+_hww@mail.gmail.com \
--to=pclouds@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=rene.scharfe@lsrfire.ath.cx \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).