$NetBSD: patch-src_cre2.cpp,v 1.1 2016/03/29 22:03:52 joerg Exp $ --- src/cre2.cpp.orig 2016-03-28 17:32:57.445282715 +0000 +++ src/cre2.cpp @@ -17,6 +17,7 @@ #include #include +#include /** -------------------------------------------------------------------- @@ -201,7 +202,7 @@ cre2_match (const cre2_regexp_t *re , co cre2_string_t *match, int nmatch) { re2::StringPiece text_re2(text, textlen); - re2::StringPiece match_re2[nmatch]; + std::vector match_re2(nmatch); RE2::Anchor anchor_re2 = RE2::UNANCHORED; bool retval; // 0 for no match // 1 for successful matching @@ -215,7 +216,7 @@ cre2_match (const cre2_regexp_t *re , co case CRE2_UNANCHORED: break; } - retval = TO_CONST_RE2(re)->Match(text_re2, startpos, endpos, anchor_re2, match_re2, nmatch); + retval = TO_CONST_RE2(re)->Match(text_re2, startpos, endpos, anchor_re2, match_re2.data(), nmatch); if (retval) { for (int i=0; idata, text->length); \ - re2::StringPiece strv[nmatch]; \ - RE2::Arg argv[nmatch]; \ - RE2::Arg * args[nmatch]; \ + std::vector strv(nmatch); \ + std::vector argv(nmatch); \ + std::vector args(nmatch); \ bool retval; \ for (int i=0; idata, text->length); \ - re2::StringPiece strv[nmatch]; \ - RE2::Arg argv[nmatch]; \ - RE2::Arg * args[nmatch]; \ + std::vector strv(nmatch); \ + std::vector argv(nmatch); \ + std::vector args(nmatch); \ bool retval; \ for (int i=0; idata = input.data(); \ text->length = input.length(); \ @@ -335,15 +336,15 @@ DEFINE_MATCH_ZSTRING_FUN2(cre2_find_and_ cre2_string_t * match, int nmatch) \ { \ re2::StringPiece input(text->data, text->length); \ - re2::StringPiece strv[nmatch]; \ - RE2::Arg argv[nmatch]; \ - RE2::Arg * args[nmatch]; \ + std::vector strv(nmatch); \ + std::vector argv(nmatch); \ + std::vector args(nmatch); \ bool retval; \ for (int i=0; idata, text->length); \ - re2::StringPiece strv[nmatch]; \ - RE2::Arg argv[nmatch]; \ - RE2::Arg * args[nmatch]; \ + std::vector strv(nmatch); \ + std::vector argv(nmatch); \ + std::vector args(nmatch); \ bool retval; \ for (int i=0; idata = input.data(); \ text->length = input.length(); \