GNU bug report logs -
#16581
suggested code simplification in dfa.c
Previous Next
Reported by: Aharon Robbins <arnold <at> skeeve.com>
Date: Tue, 28 Jan 2014 20:12:01 UTC
Severity: normal
Done: Paul Eggert <eggert <at> cs.ucla.edu>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Hi.
The code in atom() looks to me like it could use a little refactoring
and simplification. I suggest the diff below. With it both grep and gawk
still pass their tests.
Thanks,
Arnold
diff --git a/src/dfa.c b/src/dfa.c
index b79c604..d2916ee 100644
--- a/src/dfa.c
+++ b/src/dfa.c
@@ -1725,17 +1725,20 @@ add_utf8_anychar (void)
static void
atom (void)
{
- if (0)
+ if (MBS_SUPPORT && tok == WCHAR)
{
- /* empty */
- }
- else if (MBS_SUPPORT && tok == WCHAR)
- {
- addtok_wc (case_fold ? towlower (wctok) : wctok);
- if (case_fold && iswalpha (wctok))
+ if (! case_fold)
+ {
+ addtok_wc (wctok);
+ }
+ else
{
- addtok_wc (towupper (wctok));
- addtok (OR);
+ addtok_wc (towlower (wctok));
+ if (iswalpha (wctok))
+ {
+ addtok_wc (towupper (wctok));
+ addtok (OR);
+ }
}
tok = lex ();
This bug report was last modified 11 years and 78 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.