diff -Nurd tf-50b8/src/malloc.c tf-50b8.new/src/malloc.c --- tf-50b8/src/malloc.c 2007-01-13 23:12:39.000000000 +0000 +++ tf-50b8.new/src/malloc.c 2018-01-24 09:13:08.406519279 +0000 @@ -12,7 +12,7 @@ #include "signals.h" #include "malloc.h" -caddr_t mmalloc_base = NULL; +void *mmalloc_base = NULL; int low_memory_warning = 0; static char *reserve = NULL; diff -Nurd tf-50b8/src/macro.c tf-50b8.new/src/macro.c --- tf-50b8/src/macro.c 2007-01-13 23:12:39.000000000 +0000 +++ tf-50b8.new/src/macro.c 2018-01-24 09:26:18.479836714 +0000 @@ -893,7 +893,8 @@ } spec->attr &= ~F_NONE; if (spec->nsubattr) { - int n = pcre_info(spec->trig.ri->re, NULL, NULL); + int n = 0; + pcre_fullinfo(spec->trig.ri->re, NULL, PCRE_INFO_CAPTURECOUNT, &n); for (i = 0; i < spec->nsubattr; i++) { spec->subattr[i].attr &= ~F_NONE; if (spec->subattr[i].subexp > n) { diff -Nurd tf-50b8/src/pattern.c tf-50b8.new/src/pattern.c --- tf-50b8/src/pattern.c 2007-01-13 23:12:39.000000000 +0000 +++ tf-50b8.new/src/pattern.c 2018-01-24 09:28:21.526500904 +0000 @@ -151,7 +151,7 @@ emsg ? emsg : "unknown error"); goto tf_reg_compile_error; } - n = pcre_info(ri->re, NULL, NULL); + pcre_fullinfo(ri->re, NULL, PCRE_INFO_CAPTURECOUNT, &n); if (n < 0) goto tf_reg_compile_error; ri->ovecsize = 3 * (n + 1); ri->ovector = dmalloc(NULL, sizeof(int) * ri->ovecsize, file, line); diff -Nurd tf-50b8/src/pattern.h tf-50b8.new/src/pattern.h --- tf-50b8/src/pattern.h 2007-01-13 23:12:39.000000000 +0000 +++ tf-50b8.new/src/pattern.h 2018-01-24 09:28:36.039833945 +0000 @@ -10,7 +10,7 @@ #ifndef PATTERN_H #define PATTERN_H -#include "pcre-2.08/pcre.h" +#include <pcre.h> typedef struct RegInfo { pcre *re;