]> granicus.if.org Git - onig/commitdiff
define CalloutArgs
authorK.Kosako <kosako@sofnec.co.jp>
Thu, 1 Feb 2018 06:53:37 +0000 (15:53 +0900)
committerK.Kosako <kosako@sofnec.co.jp>
Thu, 1 Feb 2018 06:53:37 +0000 (15:53 +0900)
src/oniguruma.h
src/regexec.c

index ca4515a2b4eb28911bd8c063347d10377d69879d..d66bc9059f48ca173435c2e83d703ee1b676c5e6 100644 (file)
@@ -754,6 +754,12 @@ typedef struct {
   const OnigUChar* sstart;
   const OnigUChar* s;  // current matching position
   unsigned long try_in_match_counter;
+
+  /* elements invisible to users */
+  void* invisible1_;
+  void* invisible2_;
+  void* invisible3_;
+  void* invisible4_;
 } OnigCalloutArgs;
 
 typedef int (*OnigCalloutFunc)(OnigCalloutArgs* args, void* user_data);
index eb764407835d70826225cfc8b05df73e6b2e4db9..4b7b384896360cd53b8dda382c6a2cbd0a799338 100644 (file)
@@ -872,6 +872,25 @@ typedef struct _StackType {
   } u;
 } StackType;
 
+/* Synchronize visible part of the type with OnigCalloutArgs */
+typedef struct {
+  const OnigUChar* content;
+  const OnigUChar* content_end;
+  OnigRegex        reg;
+  const OnigUChar* str;
+  const OnigUChar* end;
+  const OnigUChar* right_range;
+  const OnigUChar* sstart;
+  const OnigUChar* s;  // current matching position
+  unsigned long    try_in_match_counter;
+
+  /* invisible to users */
+  StackType*  stk_base;
+  StackType*  stk;
+  StackIndex* mem_start_stk;
+  StackIndex* mem_end_stk;
+} CalloutArgs;
+
 
 #ifdef USE_FIND_LONGEST_SEARCH_ALL_OF_RANGE
 #define MATCH_ARG_INIT(msa, reg, arg_option, arg_region, arg_start, mp) do { \