/[pcre]/code/trunk/pcre_internal.h
ViewVC logotype

Diff of /code/trunk/pcre_internal.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1319 by ph10, Wed Apr 24 12:07:09 2013 UTC revision 1320 by ph10, Wed May 1 16:39:35 2013 UTC
# Line 211  typedef int pcre_int16; Line 211  typedef int pcre_int16;
211  typedef unsigned int pcre_uint32;  typedef unsigned int pcre_uint32;
212  typedef int pcre_int32;  typedef int pcre_int32;
213  #define PCRE_UINT32_MAX UINT_MAX  #define PCRE_UINT32_MAX UINT_MAX
214  #define PCRE_INT32_MAX INT_MAX  #define PCRE_INT32_MAX INT_MAX
215  #elif ULONG_MAX == 4294967295UL  #elif ULONG_MAX == 4294967295UL
216  typedef unsigned long int pcre_uint32;  typedef unsigned long int pcre_uint32;
217  typedef long int pcre_int32;  typedef long int pcre_int32;
218  #define PCRE_UINT32_MAX ULONG_MAX  #define PCRE_UINT32_MAX ULONG_MAX
219  #define PCRE_INT32_MAX LONG_MAX  #define PCRE_INT32_MAX LONG_MAX
220  #else  #else
221  #error Cannot determine a type for 32-bit integers  #error Cannot determine a type for 32-bit integers
222  #endif  #endif
# Line 2296  enum { JIT_COMPILE, JIT_PARTIAL_SOFT_COM Line 2296  enum { JIT_COMPILE, JIT_PARTIAL_SOFT_COM
2296  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
2297  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
2298  then run on another where the size of pointers is different, all might still  then run on another where the size of pointers is different, all might still
2299  be well.  be well.
2300    
2301  The size of the structure must be a multiple of 8 bytes. For the case of  The size of the structure must be a multiple of 8 bytes. For the case of
2302  compiled-on-4 and run-on-8, we include an extra pointer that is always NULL so  compiled-on-4 and run-on-8, we include an extra pointer that is always NULL so
# Line 2306  bytes. Line 2306  bytes.
2306  It is necessary to fork the struct for the 32 bit library, since it needs to  It is necessary to fork the struct for the 32 bit library, since it needs to
2307  use pcre_uint32 for first_char and req_char. We can't put an ifdef inside the  use pcre_uint32 for first_char and req_char. We can't put an ifdef inside the
2308  typedef because pcretest needs access to the struct of the 8-, 16- and 32-bit  typedef because pcretest needs access to the struct of the 8-, 16- and 32-bit
2309  variants.  variants.
2310    
2311  *** WARNING ***  *** WARNING ***
2312  When new fields are added to these structures, remember to adjust the code in  When new fields are added to these structures, remember to adjust the code in
2313  pcre_byte_order.c that is concerned with swapping the byte order of the fields  pcre_byte_order.c that is concerned with swapping the byte order of the fields
2314  when a compiled regex is reloaded on a host with different endianness.  when a compiled regex is reloaded on a host with different endianness.
2315  *** WARNING ***  *** WARNING ***
2316  There is also similar byte-flipping code in pcretest.c, which is used for  There is also similar byte-flipping code in pcretest.c, which is used for
2317  testing the byte-flipping features. It must also be kept in step.  testing the byte-flipping features. It must also be kept in step.
2318  *** WARNING ***  *** WARNING ***
2319  */  */
# Line 2324  typedef struct real_pcre8_or_16 { Line 2324  typedef struct real_pcre8_or_16 {
2324    pcre_uint32 options;            /* Public options */    pcre_uint32 options;            /* Public options */
2325    pcre_uint32 flags;              /* Private flags */    pcre_uint32 flags;              /* Private flags */
2326    pcre_uint32 limit_match;        /* Limit set from regex */    pcre_uint32 limit_match;        /* Limit set from regex */
2327    pcre_uint32 limit_recursion;    /* Limit set from regex */    pcre_uint32 limit_recursion;    /* Limit set from regex */
2328    pcre_uint16 first_char;         /* Starting character */    pcre_uint16 first_char;         /* Starting character */
2329    pcre_uint16 req_char;           /* This character must be seen */    pcre_uint16 req_char;           /* This character must be seen */
2330    pcre_uint16 max_lookbehind;     /* Longest lookbehind (characters) */    pcre_uint16 max_lookbehind;     /* Longest lookbehind (characters) */
# Line 2334  typedef struct real_pcre8_or_16 { Line 2334  typedef struct real_pcre8_or_16 {
2334    pcre_uint16 name_entry_size;    /* Size of any name items */    pcre_uint16 name_entry_size;    /* Size of any name items */
2335    pcre_uint16 name_count;         /* Number of name items */    pcre_uint16 name_count;         /* Number of name items */
2336    pcre_uint16 ref_count;          /* Reference count */    pcre_uint16 ref_count;          /* Reference count */
2337    pcre_uint16 dummy1;             /* To ensure size is a multiple of 8 */    pcre_uint16 dummy1;             /* To ensure size is a multiple of 8 */
2338    pcre_uint16 dummy2;             /* To ensure size is a multiple of 8 */    pcre_uint16 dummy2;             /* To ensure size is a multiple of 8 */
2339    pcre_uint16 dummy3;             /* To ensure size is a multiple of 8 */    pcre_uint16 dummy3;             /* To ensure size is a multiple of 8 */
2340    const pcre_uint8 *tables;       /* Pointer to tables or NULL for std */    const pcre_uint8 *tables;       /* Pointer to tables or NULL for std */
2341    void             *nullpad;      /* NULL padding */    void             *nullpad;      /* NULL padding */
2342  } real_pcre8_or_16;  } real_pcre8_or_16;
# Line 2350  typedef struct real_pcre32 { Line 2350  typedef struct real_pcre32 {
2350    pcre_uint32 options;            /* Public options */    pcre_uint32 options;            /* Public options */
2351    pcre_uint32 flags;              /* Private flags */    pcre_uint32 flags;              /* Private flags */
2352    pcre_uint32 limit_match;        /* Limit set from regex */    pcre_uint32 limit_match;        /* Limit set from regex */
2353    pcre_uint32 limit_recursion;    /* Limit set from regex */    pcre_uint32 limit_recursion;    /* Limit set from regex */
2354    pcre_uint32 first_char;         /* Starting character */    pcre_uint32 first_char;         /* Starting character */
2355    pcre_uint32 req_char;           /* This character must be seen */    pcre_uint32 req_char;           /* This character must be seen */
2356    pcre_uint16 max_lookbehind;     /* Longest lookbehind (characters) */    pcre_uint16 max_lookbehind;     /* Longest lookbehind (characters) */
# Line 2360  typedef struct real_pcre32 { Line 2360  typedef struct real_pcre32 {
2360    pcre_uint16 name_entry_size;    /* Size of any name items */    pcre_uint16 name_entry_size;    /* Size of any name items */
2361    pcre_uint16 name_count;         /* Number of name items */    pcre_uint16 name_count;         /* Number of name items */
2362    pcre_uint16 ref_count;          /* Reference count */    pcre_uint16 ref_count;          /* Reference count */
2363    pcre_uint16 dummy;              /* To ensure size is a multiple of 8 */    pcre_uint16 dummy;              /* To ensure size is a multiple of 8 */
2364    const pcre_uint8 *tables;       /* Pointer to tables or NULL for std */    const pcre_uint8 *tables;       /* Pointer to tables or NULL for std */
2365    void             *nullpad;      /* NULL padding */    void             *nullpad;      /* NULL padding */
2366  } real_pcre32;  } real_pcre32;
# Line 2457  typedef struct recursion_info { Line 2457  typedef struct recursion_info {
2457    unsigned int group_num;         /* Number of group that was called */    unsigned int group_num;         /* Number of group that was called */
2458    int *offset_save;               /* Pointer to start of saved offsets */    int *offset_save;               /* Pointer to start of saved offsets */
2459    int saved_max;                  /* Number of saved offsets */    int saved_max;                  /* Number of saved offsets */
2460    int saved_capture_last;         /* Last capture number */    int saved_capture_last;         /* Last capture number */
2461    PCRE_PUCHAR subject_position;   /* Position at start of recursion */    PCRE_PUCHAR subject_position;   /* Position at start of recursion */
2462  } recursion_info;  } recursion_info;
2463    

Legend:
Removed from v.1319  
changed lines
  Added in v.1320

  ViewVC Help
Powered by ViewVC 1.1.5