/[pcre]/code/trunk/pcre_fullinfo.c
ViewVC logotype

Diff of /code/trunk/pcre_fullinfo.c

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

revision 77 by nigel, Sat Feb 24 21:40:45 2007 UTC revision 305 by ph10, Sun Jan 20 20:07:32 2008 UTC
# Line 2  Line 2 
2  *      Perl-Compatible Regular Expressions       *  *      Perl-Compatible Regular Expressions       *
3  *************************************************/  *************************************************/
4    
5  /*PCRE is a library of functions to support regular expressions whose syntax  /* PCRE is a library of functions to support regular expressions whose syntax
6  and semantics are as close as possible to those of the Perl 5 language.  and semantics are as close as possible to those of the Perl 5 language.
7    
8                         Written by Philip Hazel                         Written by Philip Hazel
9             Copyright (c) 1997-2005 University of Cambridge             Copyright (c) 1997-2008 University of Cambridge
10    
11  -----------------------------------------------------------------------------  -----------------------------------------------------------------------------
12  Redistribution and use in source and binary forms, with or without  Redistribution and use in source and binary forms, with or without
# Line 42  POSSIBILITY OF SUCH DAMAGE. Line 42  POSSIBILITY OF SUCH DAMAGE.
42  information about a compiled pattern. */  information about a compiled pattern. */
43    
44    
45    #ifdef HAVE_CONFIG_H
46    #include "config.h"
47    #endif
48    
49  #include "pcre_internal.h"  #include "pcre_internal.h"
50    
51    
# Line 61  Arguments: Line 65  Arguments:
65  Returns:           0 if data returned, negative on error  Returns:           0 if data returned, negative on error
66  */  */
67    
68  EXPORT int  PCRE_EXP_DEFN int
69  pcre_fullinfo(const pcre *argument_re, const pcre_extra *extra_data, int what,  pcre_fullinfo(const pcre *argument_re, const pcre_extra *extra_data, int what,
70    void *where)    void *where)
71  {  {
# Line 106  switch (what) Line 110  switch (what)
110    
111    case PCRE_INFO_FIRSTBYTE:    case PCRE_INFO_FIRSTBYTE:
112    *((int *)where) =    *((int *)where) =
113      ((re->options & PCRE_FIRSTSET) != 0)? re->first_byte :      ((re->flags & PCRE_FIRSTSET) != 0)? re->first_byte :
114      ((re->options & PCRE_STARTLINE) != 0)? -1 : -2;      ((re->flags & PCRE_STARTLINE) != 0)? -1 : -2;
115    break;    break;
116    
117    /* Make sure we pass back the pointer to the bit vector in the external    /* Make sure we pass back the pointer to the bit vector in the external
# Line 121  switch (what) Line 125  switch (what)
125    
126    case PCRE_INFO_LASTLITERAL:    case PCRE_INFO_LASTLITERAL:
127    *((int *)where) =    *((int *)where) =
128      ((re->options & PCRE_REQCHSET) != 0)? re->req_byte : -1;      ((re->flags & PCRE_REQCHSET) != 0)? re->req_byte : -1;
129    break;    break;
130    
131    case PCRE_INFO_NAMEENTRYSIZE:    case PCRE_INFO_NAMEENTRYSIZE:
# Line 140  switch (what) Line 144  switch (what)
144    *((const uschar **)where) = (const uschar *)(_pcre_default_tables);    *((const uschar **)where) = (const uschar *)(_pcre_default_tables);
145    break;    break;
146    
147      case PCRE_INFO_OKPARTIAL:
148      *((int *)where) = (re->flags & PCRE_NOPARTIAL) == 0;
149      break;
150    
151      case PCRE_INFO_JCHANGED:
152      *((int *)where) = (re->flags & PCRE_JCHANGED) != 0;
153      break;
154    
155      case PCRE_INFO_HASCRORLF:
156      *((int *)where) = (re->flags & PCRE_HASCRORLF) != 0;
157      break;
158    
159    default: return PCRE_ERROR_BADOPTION;    default: return PCRE_ERROR_BADOPTION;
160    }    }
161    

Legend:
Removed from v.77  
changed lines
  Added in v.305

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12