From d19c04a88e8c4720818e3a01671547ffdde01c98 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Wed, 3 Sep 1997 00:47:36 +0000 Subject: Change [_Py_]re_compile_pattern() to return a char*. Since it only returns an error message (or NULL) there's no reason for it to be unsigned char *, and various compilers like this better. --- Modules/regexmodule.c | 2 +- Modules/regexpr.c | 18 +++++++++--------- Modules/regexpr.h | 4 ++-- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Modules/regexmodule.c b/Modules/regexmodule.c index df112d3..981dc8c 100644 --- a/Modules/regexmodule.c +++ b/Modules/regexmodule.c @@ -439,7 +439,7 @@ newregexobject(pattern, translate, givenpat, groupindex) re->re_realpat = pattern; Py_INCREF(givenpat); re->re_givenpat = givenpat; - error = (char *)re_compile_pattern((unsigned char *)pat, size, &re->re_patbuf); + error = _Py_re_compile_pattern((unsigned char *)pat, size, &re->re_patbuf); if (error != NULL) { PyErr_SetString(RegexError, error); goto finally; diff --git a/Modules/regexpr.c b/Modules/regexpr.c index a90363a..4279d61 100644 --- a/Modules/regexpr.c +++ b/Modules/regexpr.c @@ -1157,7 +1157,7 @@ else \ } \ } -unsigned char *re_compile_pattern(unsigned char *regex, int size, regexp_t bufp) +char *re_compile_pattern(unsigned char *regex, int size, regexp_t bufp) { int a; int pos; @@ -1535,36 +1535,36 @@ unsigned char *re_compile_pattern(unsigned char *regex, int size, regexp_t bufp) STORE(Cend); SET_FIELDS; if(!re_optimize(bufp)) - return (unsigned char *)"Optimization error"; + return "Optimization error"; return NULL; op_error: SET_FIELDS; - return (unsigned char *)"Badly placed special character"; + return "Badly placed special character"; bad_match_register: SET_FIELDS; - return (unsigned char *)"Bad match register number"; + return "Bad match register number"; hex_error: SET_FIELDS; - return (unsigned char *)"Bad hexadecimal number"; + return "Bad hexadecimal number"; parenthesis_error: SET_FIELDS; - return (unsigned char *)"Badly placed parenthesis"; + return "Badly placed parenthesis"; out_of_memory: SET_FIELDS; - return (unsigned char *)"Out of memory"; + return "Out of memory"; ends_prematurely: SET_FIELDS; - return (unsigned char *)"Regular expression ends prematurely"; + return "Regular expression ends prematurely"; too_complex: SET_FIELDS; - return (unsigned char *)"Regular expression too complex"; + return "Regular expression too complex"; } #undef CHARAT diff --git a/Modules/regexpr.h b/Modules/regexpr.h index 729088e..dd66325 100644 --- a/Modules/regexpr.h +++ b/Modules/regexpr.h @@ -101,7 +101,7 @@ int re_set_syntax(int syntax); /* This sets the syntax to use and returns the previous syntax. The * syntax is specified by a bit mask of the above defined bits. */ -unsigned char *re_compile_pattern(unsigned char *regex, int regex_size, regexp_t compiled); +char *re_compile_pattern(unsigned char *regex, int regex_size, regexp_t compiled); /* This compiles the regexp (given in regex and length in regex_size). * This returns NULL if the regexp compiled successfully, and an error * message if an error was encountered. The buffer field must be @@ -138,7 +138,7 @@ extern int re_syntax; extern unsigned char re_syntax_table[256]; void re_compile_initialize(); int re_set_syntax(); -unsigned char *re_compile_pattern(); +char *re_compile_pattern(); int re_match(); int re_search(); void re_compile_fastmap(); -- cgit v0.12