[vte] regex: Don't expose PCRE2 in the API



commit be69524c255f98a0a49a629b55f5eeeaabb68eb6
Author: Christian Persch <chpe gnome org>
Date:   Mon Oct 12 19:58:18 2015 +0200

    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 6252fcd..a2d4294 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
 
 <SUBSECTION Standard>
 VTE_TYPE_REGEX
diff --git a/src/vte.cc b/src/vte.cc
index f3fff69..4482e7b 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 9178d09..bf6e577 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 d7382b8..3deebba 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 cd5a653..b12d25a 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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]