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

Diff of /code/trunk/internal.h

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

revision 43 by nigel, Sat Feb 24 21:39:21 2007 UTC revision 51 by nigel, Sat Feb 24 21:39:37 2007 UTC
# Line 40  modules, but which are not relevant to t Line 40  modules, but which are not relevant to t
40  #include "config.h"  #include "config.h"
41    
42  /* To cope with SunOS4 and other systems that lack memmove() but have bcopy(),  /* To cope with SunOS4 and other systems that lack memmove() but have bcopy(),
43  define a macro for memmove() if HAVE_MEMMOVE is false. */  define a macro for memmove() if HAVE_MEMMOVE is false, provided that HAVE_BCOPY
44    is set. Otherwise, include an emulating function for those systems that have
45    neither (there some non-Unix environments where this is the case). This assumes
46    that all calls to memmove are moving strings upwards in store, which is the
47    case in PCRE. */
48    
49  #if ! HAVE_MEMMOVE  #if ! HAVE_MEMMOVE
50  #undef  memmove        /* some systems may have a macro */  #undef  memmove        /* some systems may have a macro */
51    #if HAVE_BCOPY
52  #define memmove(a, b, c) bcopy(b, a, c)  #define memmove(a, b, c) bcopy(b, a, c)
53    #else
54    void *
55    pcre_memmove(unsigned char *dest, const unsigned char *src, size_t n)
56    {
57    int i;
58    dest += n;
59    src += n;
60    for (i = 0; i < n; ++i) *(--dest) =  *(--src);
61    }
62    #define memmove(a, b, c) pcre_memmove(a, b, c)
63    #endif
64  #endif  #endif
65    
66  /* Standard C headers plus the external interface definition */  /* Standard C headers plus the external interface definition */
# Line 89  time, run time or study time, respective Line 105  time, run time or study time, respective
105    
106  #define PUBLIC_OPTIONS \  #define PUBLIC_OPTIONS \
107    (PCRE_CASELESS|PCRE_EXTENDED|PCRE_ANCHORED|PCRE_MULTILINE| \    (PCRE_CASELESS|PCRE_EXTENDED|PCRE_ANCHORED|PCRE_MULTILINE| \
108     PCRE_DOTALL|PCRE_DOLLAR_ENDONLY|PCRE_EXTRA|PCRE_UNGREEDY)     PCRE_DOTALL|PCRE_DOLLAR_ENDONLY|PCRE_EXTRA|PCRE_UNGREEDY|PCRE_UTF8)
109    
110  #define PUBLIC_EXEC_OPTIONS \  #define PUBLIC_EXEC_OPTIONS \
111    (PCRE_ANCHORED|PCRE_NOTBOL|PCRE_NOTEOL|PCRE_NOTEMPTY)    (PCRE_ANCHORED|PCRE_NOTBOL|PCRE_NOTEOL|PCRE_NOTEMPTY)
# Line 258  just to accommodate the POSIX wrapper. * Line 274  just to accommodate the POSIX wrapper. *
274  #define ERR29 "(?p must be followed by )"  #define ERR29 "(?p must be followed by )"
275  #define ERR30 "unknown POSIX class name"  #define ERR30 "unknown POSIX class name"
276  #define ERR31 "POSIX collating elements are not supported"  #define ERR31 "POSIX collating elements are not supported"
277    #define ERR32 "this version of PCRE is not compiled with PCRE_UTF8 support"
278    #define ERR33 "characters with values > 255 are not yet supported in classes"
279    #define ERR34 "character value in \\x{...} sequence is too large"
280    #define ERR35 "invalid condition (?(0)"
281    
282  /* All character handling must be done as unsigned characters. Otherwise there  /* All character handling must be done as unsigned characters. Otherwise there
283  are problems with top-bit-set characters and functions such as isspace().  are problems with top-bit-set characters and functions such as isspace().
# Line 314  typedef struct match_data { Line 334  typedef struct match_data {
334    BOOL   offset_overflow;       /* Set if too many extractions */    BOOL   offset_overflow;       /* Set if too many extractions */
335    BOOL   notbol;                /* NOTBOL flag */    BOOL   notbol;                /* NOTBOL flag */
336    BOOL   noteol;                /* NOTEOL flag */    BOOL   noteol;                /* NOTEOL flag */
337      BOOL   utf8;                  /* UTF8 flag */
338    BOOL   endonly;               /* Dollar not before final \n */    BOOL   endonly;               /* Dollar not before final \n */
339    BOOL   notempty;              /* Empty string match not wanted */    BOOL   notempty;              /* Empty string match not wanted */
340    const uschar *start_pattern;  /* For use when recursing */    const uschar *start_pattern;  /* For use when recursing */

Legend:
Removed from v.43  
changed lines
  Added in v.51

  ViewVC Help
Powered by ViewVC 1.1.5