You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by nw...@apache.org on 2013/07/14 14:14:56 UTC

[lucy-commits] [2/2] git commit: refs/heads/ivars-wip1 - Fixup Lucy C bindings IVARS glitches.

Fixup Lucy C bindings IVARS glitches.

(Will be folded into earlier commit before merging to master.)


Project: http://git-wip-us.apache.org/repos/asf/lucy/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy/commit/422a8a24
Tree: http://git-wip-us.apache.org/repos/asf/lucy/tree/422a8a24
Diff: http://git-wip-us.apache.org/repos/asf/lucy/diff/422a8a24

Branch: refs/heads/ivars-wip1
Commit: 422a8a249631665c1308b045bf1d57a333de326d
Parents: 2de870a
Author: Nick Wellnhofer <we...@aevum.de>
Authored: Sun Jul 14 14:12:23 2013 +0200
Committer: Nick Wellnhofer <we...@aevum.de>
Committed: Sun Jul 14 14:12:23 2013 +0200

----------------------------------------------------------------------
 c/src/Lucy/Analysis/RegexTokenizer.c | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy/blob/422a8a24/c/src/Lucy/Analysis/RegexTokenizer.c
----------------------------------------------------------------------
diff --git a/c/src/Lucy/Analysis/RegexTokenizer.c b/c/src/Lucy/Analysis/RegexTokenizer.c
index e2e5277..4b2bfe6 100644
--- a/c/src/Lucy/Analysis/RegexTokenizer.c
+++ b/c/src/Lucy/Analysis/RegexTokenizer.c
@@ -46,15 +46,16 @@ RegexTokenizer_is_available(void) {
 RegexTokenizer*
 RegexTokenizer_init(RegexTokenizer *self, const CharBuf *pattern) {
     Analyzer_init((Analyzer*)self);
+    RegexTokenizerIVARS *const ivars = RegexTokenizer_IVARS(self);
 
     const char *pattern_ptr;
     if (pattern) {
-        self->pattern = CB_Clone(pattern);
-        pattern_ptr = (char*)CB_Get_Ptr8(self->pattern);
+        ivars->pattern = CB_Clone(pattern);
+        pattern_ptr = (char*)CB_Get_Ptr8(ivars->pattern);
     }
     else {
         pattern_ptr = "\\w+(?:['\\x{2019}]\\w+)*";
-        self->pattern
+        ivars->pattern
             = CB_new_from_trusted_utf8(pattern_ptr, strlen(pattern_ptr));
     }
 
@@ -76,7 +77,7 @@ RegexTokenizer_init(RegexTokenizer *self, const CharBuf *pattern) {
 
     // TODO: Check whether pcre_study improves performance
 
-    self->token_re = re;
+    ivars->token_re = re;
 
     return self;
 }
@@ -90,8 +91,9 @@ RegexTokenizer_set_token_re(RegexTokenizer *self, void *token_re) {
 
 void
 RegexTokenizer_destroy(RegexTokenizer *self) {
-    DECREF(self->pattern);
-    pcre *re = (pcre*)self->token_re;
+    RegexTokenizerIVARS *const ivars = RegexTokenizer_IVARS(self);
+    DECREF(ivars->pattern);
+    pcre *re = (pcre*)ivars->token_re;
     if (re) {
         pcre_free(re);
     }
@@ -102,7 +104,8 @@ void
 RegexTokenizer_tokenize_str(RegexTokenizer *self,
                                  const char *string, size_t string_len,
                                  Inversion *inversion) {
-    pcre      *re          = (pcre*)self->token_re;
+    RegexTokenizerIVARS *const ivars = RegexTokenizer_IVARS(self);
+    pcre      *re          = (pcre*)ivars->token_re;
     int        byte_offset = 0;
     uint32_t   cp_offset   = 0; // Code points
     int        options     = PCRE_NO_UTF8_CHECK;