*************************************************/
/*
- * Copyright (c) The Exim Maintainers 2016 - 2022
+ * Copyright (c) The Exim Maintainers 2016 - 2023
* Copyright (c) Tom Kistner <tom@duncanthrax.net> 2003-2015
* License: GPL
+ * SPDX-License-Identifier: GPL-2.0-or-later
*/
/* Code for matching regular expressions against headers and body.
for (int nn = 1; nn < n; nn++)
{
- PCRE2_UCHAR * cstr;
- PCRE2_SIZE cslen;
- pcre2_substring_get_bynumber(md, nn, &cstr, &cslen); /* uses same ctx as md */
- regex_vars[nn-1] = CUS cstr;
+ PCRE2_SIZE * ovec = pcre2_get_ovector_pointer(md);
+ int off = nn * 2;
+ int len = ovec[off + 1] - ovec[off];
+ regex_vars[nn-1] = string_copyn(linebuffer + ovec[off], len);
}
return OK;