diff options
-rw-r--r-- | Modules/regexpr.c | 8 | ||||
-rw-r--r-- | Modules/regexpr.h | 2 |
2 files changed, 9 insertions, 1 deletions
diff --git a/Modules/regexpr.c b/Modules/regexpr.c index 2d30171..663e1de 100644 --- a/Modules/regexpr.c +++ b/Modules/regexpr.c @@ -486,7 +486,13 @@ void re_compile_initialize(void) for (a = 'A'; a <= 'Z'; a++) re_syntax_table[a] = Sword; for (a = '0'; a <= '9'; a++) - re_syntax_table[a] = Sword | Sdigit; + re_syntax_table[a] = Sword | Sdigit | Shexdigit; + for (a = '0'; a <= '7'; a++) + re_syntax_table[a] |= Soctaldigit; + for (a = 'A'; a <= 'F'; a++) + re_syntax_table[a] |= Shexdigit; + for (a = 'a'; a <= 'f'; a++) + re_syntax_table[a] |= Shexdigit; re_syntax_table['_'] = Sword; for (a = 9; a <= 13; a++) re_syntax_table[a] = Swhitespace; diff --git a/Modules/regexpr.h b/Modules/regexpr.h index 91f00b9..9ac2ab9 100644 --- a/Modules/regexpr.h +++ b/Modules/regexpr.h @@ -70,6 +70,8 @@ typedef struct re_registers #define Sword 1 #define Swhitespace 2 #define Sdigit 4 +#define Soctaldigit 8 +#define Shexdigit 16 /* Rename all exported symbols to avoid conflicts with similarly named symbols in some systems' standard C libraries... */ |