Diff for /embedaddon/pcre/pcre_internal.h between versions 1.1.1.2 and 1.1.1.3

version 1.1.1.2, 2012/02/21 23:50:25 version 1.1.1.3, 2012/10/09 09:19:17
Line 523  capturing parenthesis numbers in back references. */ Line 523  capturing parenthesis numbers in back references. */
   
 #define PUT2INC(a,n,d)  PUT2(a,n,d), a += IMM2_SIZE  #define PUT2INC(a,n,d)  PUT2(a,n,d), a += IMM2_SIZE
   
   /* The maximum length of a MARK name is currently one data unit; it may be
   changed in future to be a fixed number of bytes or to depend on LINK_SIZE. */
   
   #define MAX_MARK ((1 << (sizeof(pcre_uchar)*8)) - 1)
   
 /* When UTF encoding is being used, a character is no longer just a single  /* When UTF encoding is being used, a character is no longer just a single
 character. The macros for character handling generate simple sequences when  character. The macros for character handling generate simple sequences when
 used in character-mode, and more complicated ones for UTF characters.  used in character-mode, and more complicated ones for UTF characters.
Line 887  time, run time, or study time, respectively. */ Line 892  time, run time, or study time, respectively. */
    PCRE_NO_START_OPTIMIZE)     PCRE_NO_START_OPTIMIZE)
   
 #define PUBLIC_STUDY_OPTIONS \  #define PUBLIC_STUDY_OPTIONS \
   PCRE_STUDY_JIT_COMPILE   (PCRE_STUDY_JIT_COMPILE|PCRE_STUDY_JIT_PARTIAL_SOFT_COMPILE| \
     PCRE_STUDY_JIT_PARTIAL_HARD_COMPILE)
   
 /* Magic number to provide a small check against being handed junk. */  /* Magic number to provide a small check against being handed junk. */
   
Line 1939  enum { ERR0,  ERR1,  ERR2,  ERR3,  ERR4,  ERR5,  ERR6, Line 1945  enum { ERR0,  ERR1,  ERR2,  ERR3,  ERR4,  ERR5,  ERR6,
        ERR40, ERR41, ERR42, ERR43, ERR44, ERR45, ERR46, ERR47, ERR48, ERR49,         ERR40, ERR41, ERR42, ERR43, ERR44, ERR45, ERR46, ERR47, ERR48, ERR49,
        ERR50, ERR51, ERR52, ERR53, ERR54, ERR55, ERR56, ERR57, ERR58, ERR59,         ERR50, ERR51, ERR52, ERR53, ERR54, ERR55, ERR56, ERR57, ERR58, ERR59,
        ERR60, ERR61, ERR62, ERR63, ERR64, ERR65, ERR66, ERR67, ERR68, ERR69,         ERR60, ERR61, ERR62, ERR63, ERR64, ERR65, ERR66, ERR67, ERR68, ERR69,
       ERR70, ERR71, ERR72, ERR73, ERR74, ERRCOUNT };       ERR70, ERR71, ERR72, ERR73, ERR74, ERR75, ERR76, ERRCOUNT };
   
   /* JIT compiling modes. The function list is indexed by them. */
   enum { JIT_COMPILE, JIT_PARTIAL_SOFT_COMPILE, JIT_PARTIAL_HARD_COMPILE,
          JIT_NUMBER_OF_COMPILE_MODES };
   
 /* The real format of the start of the pcre block; the index of names and the  /* The real format of the start of the pcre block; the index of names and the
 code vector run on as long as necessary after the end. We store an explicit  code vector run on as long as necessary after the end. We store an explicit
 offset to the name table so that if a regex is compiled on one host, saved, and  offset to the name table so that if a regex is compiled on one host, saved, and
Line 1969  typedef struct REAL_PCRE { Line 1979  typedef struct REAL_PCRE {
   pcre_uint32 size;               /* Total that was malloced */    pcre_uint32 size;               /* Total that was malloced */
   pcre_uint32 options;            /* Public options */    pcre_uint32 options;            /* Public options */
   pcre_uint16 flags;              /* Private flags */    pcre_uint16 flags;              /* Private flags */
  pcre_uint16 dummy1;             /* For future use */  pcre_uint16 max_lookbehind;     /* Longest lookbehind (characters) */
  pcre_uint16 top_bracket;  pcre_uint16 top_bracket;        /* Highest numbered group */
  pcre_uint16 top_backref;  pcre_uint16 top_backref;        /* Highest numbered back reference */
   pcre_uint16 first_char;         /* Starting character */    pcre_uint16 first_char;         /* Starting character */
   pcre_uint16 req_char;           /* This character must be seen */    pcre_uint16 req_char;           /* This character must be seen */
   pcre_uint16 name_table_offset;  /* Offset to name table that follows */    pcre_uint16 name_table_offset;  /* Offset to name table that follows */
   pcre_uint16 name_entry_size;    /* Size of any name items */    pcre_uint16 name_entry_size;    /* Size of any name items */
   pcre_uint16 name_count;         /* Number of name items */    pcre_uint16 name_count;         /* Number of name items */
   pcre_uint16 ref_count;          /* Reference count */    pcre_uint16 ref_count;          /* Reference count */
   
   const pcre_uint8 *tables;       /* Pointer to tables or NULL for std */    const pcre_uint8 *tables;       /* Pointer to tables or NULL for std */
   const pcre_uint8 *nullpad;      /* NULL padding */    const pcre_uint8 *nullpad;      /* NULL padding */
 } REAL_PCRE;  } REAL_PCRE;
Line 2024  typedef struct compile_data { Line 2033  typedef struct compile_data {
   int  workspace_size;              /* Size of workspace */    int  workspace_size;              /* Size of workspace */
   int  bracount;                    /* Count of capturing parens as we compile */    int  bracount;                    /* Count of capturing parens as we compile */
   int  final_bracount;              /* Saved value after first pass */    int  final_bracount;              /* Saved value after first pass */
     int  max_lookbehind;              /* Maximum lookbehind (characters) */
   int  top_backref;                 /* Maximum back reference */    int  top_backref;                 /* Maximum back reference */
   unsigned int backref_map;         /* Bitmap of low back refs */    unsigned int backref_map;         /* Bitmap of low back refs */
   int  assert_depth;                /* Depth of nested assertions */    int  assert_depth;                /* Depth of nested assertions */
Line 2125  typedef struct match_data { Line 2135  typedef struct match_data {
   const  pcre_uchar *mark;        /* Mark pointer to pass back on success */    const  pcre_uchar *mark;        /* Mark pointer to pass back on success */
   const  pcre_uchar *nomatch_mark;/* Mark pointer to pass back on failure */    const  pcre_uchar *nomatch_mark;/* Mark pointer to pass back on failure */
   const  pcre_uchar *once_target; /* Where to back up to for atomic groups */    const  pcre_uchar *once_target; /* Where to back up to for atomic groups */
   #ifdef NO_RECURSE
     void  *match_frames_base;       /* For remembering malloc'd frames */
   #endif
 } match_data;  } match_data;
   
 /* A similar structure is used for the same purpose by the DFA matching  /* A similar structure is used for the same purpose by the DFA matching
Line 2179  total length. */ Line 2192  total length. */
 #define ctypes_offset (cbits_offset + cbit_length)  #define ctypes_offset (cbits_offset + cbit_length)
 #define tables_length (ctypes_offset + 256)  #define tables_length (ctypes_offset + 256)
   
/* Internal function prefix *//* Internal function and data prefixes. */
   
 #ifdef COMPILE_PCRE8  #ifdef COMPILE_PCRE8
 #ifndef PUBL  #ifndef PUBL
Line 2288  extern BOOL              PRIV(was_newline)(PCRE_PUCHAR Line 2301  extern BOOL              PRIV(was_newline)(PCRE_PUCHAR
 extern BOOL              PRIV(xclass)(int, const pcre_uchar *, BOOL);  extern BOOL              PRIV(xclass)(int, const pcre_uchar *, BOOL);
   
 #ifdef SUPPORT_JIT  #ifdef SUPPORT_JIT
extern void              PRIV(jit_compile)(const REAL_PCRE *, PUBL(extra) *);extern void              PRIV(jit_compile)(const REAL_PCRE *,
extern int               PRIV(jit_exec)(const REAL_PCRE *, void *,                           PUBL(extra) *, int);
                           const pcre_uchar *, int, int, int, int, int *, int);extern int               PRIV(jit_exec)(const REAL_PCRE *, const PUBL(extra) *,
                            const pcre_uchar *, int, int, int, int *, int);
 extern void              PRIV(jit_free)(void *);  extern void              PRIV(jit_free)(void *);
 extern int               PRIV(jit_get_size)(void *);  extern int               PRIV(jit_get_size)(void *);
 extern const char*       PRIV(jit_get_target)(void);  extern const char*       PRIV(jit_get_target)(void);

Removed from v.1.1.1.2  
changed lines
  Added in v.1.1.1.3


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>