From be69524c255f98a0a49a629b55f5eeeaabb68eb6 Mon Sep 17 00:00:00 2001 From: Christian Persch Date: Mon, 12 Oct 2015 19:58:18 +0200 Subject: regex: Don't expose PCRE2 in the API Until there's a real need to, don't use PCRE2 types in our API. --- doc/reference/vte-sections.txt | 2 -- src/vte.cc | 4 ++-- src/vte/vteregex.h | 17 ++--------------- src/vteregex.cc | 15 ++++++++++----- src/vteregexinternal.hh | 4 ++++ 5 files changed, 18 insertions(+), 24 deletions(-) diff --git a/doc/reference/vte-sections.txt b/doc/reference/vte-sections.txt index 6252fcd8..a2d42940 100644 --- a/doc/reference/vte-sections.txt +++ b/doc/reference/vte-sections.txt @@ -138,8 +138,6 @@ vte_regex_ref vte_regex_unref vte_regex_new vte_regex_jit -vte_regex_new_pcre -vte_regex_get_pcre VTE_TYPE_REGEX diff --git a/src/vte.cc b/src/vte.cc index f3fff691..4482e7b0 100644 --- a/src/vte.cc +++ b/src/vte.cc @@ -1660,7 +1660,7 @@ match_check_pcre(VteTerminalPrivate *pvt, */ position = sattr; while (position < eattr && - ((r = match_fn(vte_regex_get_pcre(regex), + ((r = match_fn(_vte_regex_get_pcre(regex), (PCRE2_SPTR8)line, line_length, /* subject, length */ position, /* start offset */ match_flags | @@ -14038,7 +14038,7 @@ vte_terminal_search_rows(VteTerminal *terminal, else match_fn = pcre2_match_8; - r = match_fn(vte_regex_get_pcre(pvt->search_regex.pcre.regex), + r = match_fn(_vte_regex_get_pcre(pvt->search_regex.pcre.regex), (PCRE2_SPTR8)row_text, row_text_length , /* subject, length */ 0, /* start offset */ pvt->search_regex.pcre.match_flags | diff --git a/src/vte/vteregex.h b/src/vte/vteregex.h index 9178d091..bf6e5778 100644 --- a/src/vte/vteregex.h +++ b/src/vte/vteregex.h @@ -27,10 +27,6 @@ G_BEGIN_DECLS -#if !defined(_PCRE2_H) && !defined(__GI_SCANNER__) -typedef struct pcre2_real_code_8 pcre2_code_8; -#endif /* !_PCRE2_H */ - typedef struct _VteRegex VteRegex; #define VTE_TYPE_REGEX (vte_regex_get_type()) @@ -39,8 +35,8 @@ GType vte_regex_get_type (void); #define VTE_REGEX_ERROR (vte_regex_error_quark()) GQuark vte_regex_error_quark (void); -/* This is PCRE2_NO_UTF_CHECK | PCRE2_UTF */ -#define VTE_REGEX_FLAGS_DEFAULT (0x00080000u | 0x40000000u) +/* This is PCRE2_NO_UTF_CHECK | PCRE2_UTF | PCRE2_NEVER_BACKSLASH_C */ +#define VTE_REGEX_FLAGS_DEFAULT (0x00080000u | 0x40000000u | 0x00100000u) VteRegex *vte_regex_ref (VteRegex *regex) _VTE_GNUC_NONNULL(1); @@ -55,15 +51,6 @@ gboolean vte_regex_jit (VteRegex *regex, guint32 flags, GError **error) _VTE_GNUC_NONNULL(1); -#ifndef __GI_SCANNER__ - -VteRegex *vte_regex_new_pcre (pcre2_code_8 *code, - GError **error) _VTE_GNUC_NONNULL(1); - -const pcre2_code_8 *vte_regex_get_pcre (VteRegex *regex) _VTE_GNUC_NONNULL(1); - -#endif - G_END_DECLS #endif /* __VTE_VTE_REGEX_H__ */ diff --git a/src/vteregex.cc b/src/vteregex.cc index d7382b87..3deebba6 100644 --- a/src/vteregex.cc +++ b/src/vteregex.cc @@ -27,12 +27,13 @@ #include "vtemacros.h" #include "vteenums.h" #include "vteregex.h" -#include "vteregexinternal.hh" #ifdef WITH_PCRE2 #include "vtepcre2.h" #endif /* WITH_PCRE2 */ +#include "vteregexinternal.hh" + struct _VteRegex { volatile int ref_count; #ifdef WITH_PCRE2 @@ -208,7 +209,8 @@ vte_regex_new(const char *pattern, #endif /* WITH_PCRE2 */ } -/** +#if 0 +/* * vte_regex_new_pcre: * @code: a #pcre2_code_8 * @@ -238,16 +240,18 @@ vte_regex_new_pcre(pcre2_code_8 *code, return NULL; #endif } +#endif -/** - * vte_regex_get_pcre: +#ifdef WITH_PCRE2 +/* + * _vte_regex_get_pcre: * @regex: a #VteRegex * * * Returns: the #pcre2_code_8 from @regex */ const pcre2_code_8 * -vte_regex_get_pcre(VteRegex *regex) +_vte_regex_get_pcre(VteRegex *regex) { #ifdef WITH_PCRE2 g_return_val_if_fail(regex != NULL, NULL); @@ -257,6 +261,7 @@ vte_regex_get_pcre(VteRegex *regex) return NULL; #endif } +#endif /** * vte_regex_jit: diff --git a/src/vteregexinternal.hh b/src/vteregexinternal.hh index cd5a653d..b12d25aa 100644 --- a/src/vteregexinternal.hh +++ b/src/vteregexinternal.hh @@ -18,3 +18,7 @@ #pragma once gboolean _vte_regex_get_jited(VteRegex *regex); + +#ifdef WITH_PCRE2 +const pcre2_code_8 *_vte_regex_get_pcre (VteRegex *regex); +#endif -- cgit v1.2.1