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

Diff of /code/trunk/pcreposix.c

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

revision 510 by ph10, Sat Mar 27 17:45:29 2010 UTC revision 758 by ph10, Mon Nov 21 12:05:36 2011 UTC
# Line 6  Line 6 
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-2009 University of Cambridge             Copyright (c) 1997-2010 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 57  previously been set. */ Line 57  previously been set. */
57  #  define PCREPOSIX_EXP_DEFN __declspec(dllexport)  #  define PCREPOSIX_EXP_DEFN __declspec(dllexport)
58  #endif  #endif
59    
60    /* We include pcre.h before pcre_internal.h so that the PCRE library functions
61    are declared as "import" for Windows by defining PCRE_EXP_DECL as "import".
62    This is needed even though pcre_internal.h itself includes pcre.h, because it
63    does so after it has set PCRE_EXP_DECL to "export" if it is not already set. */
64    
65  #include "pcre.h"  #include "pcre.h"
66  #include "pcre_internal.h"  #include "pcre_internal.h"
67  #include "pcreposix.h"  #include "pcreposix.h"
# Line 145  static const int eint[] = { Line 150  static const int eint[] = {
150    /* 65 */    /* 65 */
151    REG_BADPAT,  /* different names for subpatterns of the same number are not allowed */    REG_BADPAT,  /* different names for subpatterns of the same number are not allowed */
152    REG_BADPAT,  /* (*MARK) must have an argument */    REG_BADPAT,  /* (*MARK) must have an argument */
153      REG_INVARG,  /* this version of PCRE is not compiled with PCRE_UCP support */
154      REG_BADPAT,  /* \c must be followed by an ASCII character */
155      REG_BADPAT,  /* \k is not followed by a braced, angle-bracketed, or quoted name */
156      /* 70 */
157      REG_BADPAT,  /* internal error: unknown opcode in find_fixedlength() */
158      REG_BADPAT,  /* \N is not supported in a class */
159  };  };
160    
161  /* Table of texts corresponding to POSIX error codes */  /* Table of texts corresponding to POSIX error codes */
# Line 248  if ((cflags & REG_NEWLINE) != 0)  option Line 259  if ((cflags & REG_NEWLINE) != 0)  option
259  if ((cflags & REG_DOTALL) != 0)   options |= PCRE_DOTALL;  if ((cflags & REG_DOTALL) != 0)   options |= PCRE_DOTALL;
260  if ((cflags & REG_NOSUB) != 0)    options |= PCRE_NO_AUTO_CAPTURE;  if ((cflags & REG_NOSUB) != 0)    options |= PCRE_NO_AUTO_CAPTURE;
261  if ((cflags & REG_UTF8) != 0)     options |= PCRE_UTF8;  if ((cflags & REG_UTF8) != 0)     options |= PCRE_UTF8;
262    if ((cflags & REG_UCP) != 0)      options |= PCRE_UCP;
263  if ((cflags & REG_UNGREEDY) != 0) options |= PCRE_UNGREEDY;  if ((cflags & REG_UNGREEDY) != 0) options |= PCRE_UNGREEDY;
264    
265  preg->re_pcre = pcre_compile2(pattern, options, &errorcode, &errorptr,  preg->re_pcre = pcre_compile2(pattern, options, &errorcode, &errorptr,
# Line 337  if ((eflags & REG_STARTEND) != 0) Line 349  if ((eflags & REG_STARTEND) != 0)
349  else  else
350    {    {
351    so = 0;    so = 0;
352    eo = strlen(string);    eo = (int)strlen(string);
353    }    }
354    
355  rc = pcre_exec((const pcre *)preg->re_pcre, NULL, string + so, (eo - so),  rc = pcre_exec((const pcre *)preg->re_pcre, NULL, string + so, (eo - so),
356    0, options, ovector, nmatch * 3);    0, options, ovector, (int)(nmatch * 3));
357    
358  if (rc == 0) rc = nmatch;    /* All captured slots were filled in */  if (rc == 0) rc = (int)nmatch;    /* All captured slots were filled in */
359    
360  /* Successful match */  /* Successful match */
361    

Legend:
Removed from v.510  
changed lines
  Added in v.758

  ViewVC Help
Powered by ViewVC 1.1.5