summaryrefslogtreecommitdiffstats
path: root/Modules/regexmodule.c
diff options
context:
space:
mode:
Diffstat (limited to 'Modules/regexmodule.c')
-rw-r--r--Modules/regexmodule.c22
1 files changed, 8 insertions, 14 deletions
diff --git a/Modules/regexmodule.c b/Modules/regexmodule.c
index 5e82832..fade99f 100644
--- a/Modules/regexmodule.c
+++ b/Modules/regexmodule.c
@@ -146,23 +146,9 @@ reg_search(re, args)
return newintobject((long)result); /* Position of the match or -1 */
}
-static object *
-reg_regs(re, args)
- regexobject *re;
- object *args;
-{
- if (!re->re_regs_valid) {
- err_setstr(RegexError,
- "regs only valid after successful match/search");
- return NULL;
- }
- return makeresult(&re->re_regs);
-}
-
static struct methodlist reg_methods[] = {
{"match", reg_match},
{"search", reg_search},
- {"regs", reg_regs},
{NULL, NULL} /* sentinel */
};
@@ -171,6 +157,14 @@ reg_getattr(re, name)
regexobject *re;
char *name;
{
+ if (strcmp(name, "regs") == 0) {
+ if (!re->re_regs_valid) {
+ err_setstr(RegexError,
+ "regs only valid after successful match/search");
+ return NULL;
+ }
+ return makeresult(&re->re_regs);
+ }
return findmethod(reg_methods, (object *)re, name);
}