Diff for /embedaddon/pcre/pcre_valid_utf8.c between versions 1.1.1.1 and 1.1.1.3

version 1.1.1.1, 2012/02/21 23:05:51 version 1.1.1.3, 2013/07/22 08:25:56
Line 6 Line 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.
   
                        Written by Philip Hazel                         Written by Philip Hazel
           Copyright (c) 1997-2009 University of Cambridge           Copyright (c) 1997-2013 University of Cambridge
   
 -----------------------------------------------------------------------------  -----------------------------------------------------------------------------
 Redistribution and use in source and binary forms, with or without  Redistribution and use in source and binary forms, with or without
Line 92  PCRE_UTF8_ERR18  Overlong 5-byte sequence (won't ever  Line 92  PCRE_UTF8_ERR18  Overlong 5-byte sequence (won't ever 
 PCRE_UTF8_ERR19  Overlong 6-byte sequence (won't ever occur)  PCRE_UTF8_ERR19  Overlong 6-byte sequence (won't ever occur)
 PCRE_UTF8_ERR20  Isolated 0x80 byte (not within UTF-8 character)  PCRE_UTF8_ERR20  Isolated 0x80 byte (not within UTF-8 character)
 PCRE_UTF8_ERR21  Byte with the illegal value 0xfe or 0xff  PCRE_UTF8_ERR21  Byte with the illegal value 0xfe or 0xff
   PCRE_UTF8_ERR22  Unused (was non-character)
   
 Arguments:  Arguments:
   string       points to the string    string       points to the string
Line 103  Returns:       = 0    if the string is a valid UTF-8 s Line 104  Returns:       = 0    if the string is a valid UTF-8 s
 */  */
   
 int  int
_pcre_valid_utf8(USPTR string, int length, int *erroroffset)PRIV(valid_utf)(PCRE_PUCHAR string, int length, int *erroroffset)
 {  {
#ifdef SUPPORT_UTF8#ifdef SUPPORT_UTF
register USPTR p;register PCRE_PUCHAR p;
   
 if (length < 0)  if (length < 0)
   {    {
Line 116  if (length < 0) Line 117  if (length < 0)
   
 for (p = string; length-- > 0; p++)  for (p = string; length-- > 0; p++)
   {    {
  register int ab, c, d;  register pcre_uchar ab, c, d;
   
   c = *p;    c = *p;
   if (c < 128) continue;                /* ASCII character */    if (c < 128) continue;                /* ASCII character */
Line 133  for (p = string; length-- > 0; p++) Line 134  for (p = string; length-- > 0; p++)
     return PCRE_UTF8_ERR21;      return PCRE_UTF8_ERR21;
     }      }
   
  ab = _pcre_utf8_table4[c & 0x3f];     /* Number of additional bytes */  ab = PRIV(utf8_table4)[c & 0x3f];     /* Number of additional bytes */
   if (length < ab)    if (length < ab)
     {      {
     *erroroffset = (int)(p - string);          /* Missing bytes */      *erroroffset = (int)(p - string);          /* Missing bytes */
Line 288  for (p = string; length-- > 0; p++) Line 289  for (p = string; length-- > 0; p++)
     }      }
   }    }
   
#else  /* SUPPORT_UTF8 */#else  /* Not SUPPORT_UTF */
 (void)(string);  /* Keep picky compilers happy */  (void)(string);  /* Keep picky compilers happy */
 (void)(length);  (void)(length);
   (void)(erroroffset);
 #endif  #endif
   
 return PCRE_UTF8_ERR0;   /* This indicates success */  return PCRE_UTF8_ERR0;   /* This indicates success */

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


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