X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=lib%2Fregex.c;h=270fb590b5e7fc8873afefc2d5c898c97a1d1287;hb=4cd590195cb23a667ff5f329a721b6f4ce2e6dc3;hp=e1054fb35ef5321eea24cefde14566be60d3fb39;hpb=cad27e97e6370f96903d42aaf345c099af0a03bd;p=libucw.git diff --git a/lib/regex.c b/lib/regex.c index e1054fb3..270fb590 100644 --- a/lib/regex.c +++ b/lib/regex.c @@ -14,7 +14,6 @@ #include #include -#include #if defined(CONFIG_OWN_REGEX) || defined(CONFIG_POSIX_REGEX) @@ -32,14 +31,14 @@ struct regex { }; regex * -rx_compile(byte *p, int icase) +rx_compile(const char *p, int icase) { regex *r = xmalloc_zero(sizeof(regex)); int err = regcomp(&r->rx, p, REG_EXTENDED | (icase ? REG_ICASE : 0)); if (err) { - byte msg[256]; + char msg[256]; regerror(err, &r->rx, msg, sizeof(msg)-1); /* regfree(&r->rx) not needed */ die("Error parsing regular expression `%s': %s", p, msg); @@ -55,7 +54,7 @@ rx_free(regex *r) } int -rx_match(regex *r, byte *s) +rx_match(regex *r, const char *s) { int err = regexec(&r->rx, s, 10, r->matches, 0); if (!err) @@ -72,9 +71,9 @@ rx_match(regex *r, byte *s) } int -rx_subst(regex *r, byte *by, byte *src, byte *dest, uns destlen) +rx_subst(regex *r, const char *by, const char *src, char *dest, uns destlen) { - byte *end = dest + destlen - 1; + char *end = dest + destlen - 1; if (!rx_match(r, src)) return 0; @@ -89,7 +88,7 @@ rx_subst(regex *r, byte *by, byte *src, byte *dest, uns destlen) uns j = *by++ - '0'; if (j <= r->rx.re_nsub && r->matches[j].rm_so >= 0) { - byte *s = src + r->matches[j].rm_so; + const char *s = src + r->matches[j].rm_so; uns i = r->matches[j].rm_eo - r->matches[j].rm_so; if (dest + i >= end) return -1; @@ -123,7 +122,7 @@ struct regex { }; regex * -rx_compile(byte *p, int icase) +rx_compile(const char *p, int icase) { const char *err; int errpos, match_array_size, eno; @@ -153,7 +152,7 @@ rx_free(regex *r) } int -rx_match(regex *r, byte *s) +rx_match(regex *r, const char *s) { int len = str_len(s); int err = pcre_exec(r->rx, r->extra, s, len, 0, 0, r->matches, r->match_array_size); @@ -172,9 +171,9 @@ rx_match(regex *r, byte *s) } int -rx_subst(regex *r, byte *by, byte *src, byte *dest, uns destlen) +rx_subst(regex *r, const char *by, const char *src, char *dest, uns destlen) { - byte *end = dest + destlen - 1; + char *end = dest + destlen - 1; if (!rx_match(r, src)) return 0; @@ -189,7 +188,7 @@ rx_subst(regex *r, byte *by, byte *src, byte *dest, uns destlen) uns j = *by++ - '0'; if (j < r->real_matches && r->matches[2*j] >= 0) { - byte *s = src + r->matches[2*j]; + char *s = src + r->matches[2*j]; uns i = r->matches[2*j+1] - r->matches[2*j]; if (dest + i >= end) return -1; @@ -228,7 +227,7 @@ struct regex { }; regex * -rx_compile(byte *p, int icase) +rx_compile(const char *p, int icase) { regex *r = xmalloc_zero(sizeof(regex)); const char *msg; @@ -262,7 +261,7 @@ rx_free(regex *r) } int -rx_match(regex *r, byte *s) +rx_match(regex *r, const char *s) { int len = strlen(s); @@ -275,9 +274,9 @@ rx_match(regex *r, byte *s) } int -rx_subst(regex *r, byte *by, byte *src, byte *dest, uns destlen) +rx_subst(regex *r, const char *by, const char *src, char *dest, uns destlen) { - byte *end = dest + destlen - 1; + char *end = dest + destlen - 1; if (!rx_match(r, src)) return 0; @@ -292,7 +291,7 @@ rx_subst(regex *r, byte *by, byte *src, byte *dest, uns destlen) uns j = *by++ - '0'; if (j < r->regs.num_regs) { - byte *s = src + r->regs.start[j]; + const char *s = src + r->regs.start[j]; uns i = r->regs.end[j] - r->regs.start[j]; if (r->regs.start[j] > r->len_cache || r->regs.end[j] > r->len_cache) return -1; @@ -320,7 +319,7 @@ rx_subst(regex *r, byte *by, byte *src, byte *dest, uns destlen) int main(int argc, char **argv) { regex *r; - byte buf1[4096], buf2[4096]; + char buf1[4096], buf2[4096]; int opt_i = 0; if (!strcmp(argv[1], "-i"))