summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Modules/regexpr.c8
-rw-r--r--Modules/regexpr.h2
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... */