X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=lib%2Fregex.c;h=6ed90243c86a727e99a4a34c91a567dccb85e0d7;hb=89d14be7e888730e57d3a26b5ddd47d0b659c3cf;hp=e1e2df608370b722675db4a2e187cdeeb885cc91;hpb=77da66cd87faf984129a955c8bb262f2022287de;p=libucw.git diff --git a/lib/regex.c b/lib/regex.c index e1e2df60..6ed90243 100644 --- a/lib/regex.c +++ b/lib/regex.c @@ -8,7 +8,6 @@ #include "lib/lib.h" #include "lib/chartype.h" -#include #include #include #include @@ -37,7 +36,7 @@ rx_compile(byte *p, int icase) r->buf.translate = xmalloc (CHAR_SET_SIZE); /* Map uppercase characters to corresponding lowercase ones. */ for (i = 0; i < CHAR_SET_SIZE; i++) - r->buf.translate[i] = Cupper(i) ? tolower (i) : i; + r->buf.translate[i] = Cupcase(i); } else r->buf.translate = NULL; @@ -52,6 +51,8 @@ void rx_free(regex *r) { xfree(r->buf.buffer); + if (r->buf.translate) + xfree(r->buf.translate); xfree(r); }