/[pcre]/code/branches/pcre16/pcre_compile.c
ViewVC logotype

Diff of /code/branches/pcre16/pcre_compile.c

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

revision 788 by zherczeg, Tue Dec 6 11:33:41 2011 UTC revision 789 by zherczeg, Wed Dec 7 14:36:26 2011 UTC
# Line 4202  for (;; ptr++) Line 4202  for (;; ptr++)
4202    
4203  #ifdef SUPPORT_UTF  #ifdef SUPPORT_UTF
4204          if (utf && (d > 255 || ((options & PCRE_CASELESS) != 0 && d > 127)))          if (utf && (d > 255 || ((options & PCRE_CASELESS) != 0 && d > 127)))
4205  #endif  #elif !(defined COMPILE_PCRE8)
 #ifndef COMPILE_PCRE8  
4206          if (d > 255)          if (d > 255)
4207  #endif  #endif
4208  #if defined SUPPORT_UTF || defined COMPILE_PCRE16  #if defined SUPPORT_UTF || !(defined COMPILE_PCRE8)
4209            {            {
4210            xclass = TRUE;            xclass = TRUE;
4211    
# Line 5817  for (;; ptr++) Line 5816  for (;; ptr++)
5816                *errorcodeptr = ERR49;                *errorcodeptr = ERR49;
5817                goto FAILED;                goto FAILED;
5818                }                }
5819              if (namelen + 3 > cd->name_entry_size)              if (namelen + IMM2_SIZE + 1 > cd->name_entry_size)
5820                {                {
5821                cd->name_entry_size = namelen + 3;                cd->name_entry_size = namelen + IMM2_SIZE + 1;
5822                if (namelen > MAX_NAME_SIZE)                if (namelen > MAX_NAME_SIZE)
5823                  {                  {
5824                  *errorcodeptr = ERR48;                  *errorcodeptr = ERR48;
# Line 5848  for (;; ptr++) Line 5847  for (;; ptr++)
5847    
5848              for (i = 0; i < cd->names_found; i++)              for (i = 0; i < cd->names_found; i++)
5849                {                {
5850                int crc = memcmp(name, slot+2, IN_UCHARS(namelen));                int crc = memcmp(name, slot+IMM2_SIZE, IN_UCHARS(namelen));
5851                if (crc == 0)                if (crc == 0)
5852                  {                  {
5853                  if (slot[2+namelen] == 0)                  if (slot[IMM2_SIZE+namelen] == 0)
5854                    {                    {
5855                    if (GET2(slot, 0) != cd->bracount + 1 &&                    if (GET2(slot, 0) != cd->bracount + 1 &&
5856                        (options & PCRE_DUPNAMES) == 0)                        (options & PCRE_DUPNAMES) == 0)
# Line 5903  for (;; ptr++) Line 5902  for (;; ptr++)
5902                }                }
5903    
5904              PUT2(slot, 0, cd->bracount + 1);              PUT2(slot, 0, cd->bracount + 1);
5905              memcpy(slot + 2, name, IN_UCHARS(namelen));              memcpy(slot + IMM2_SIZE, name, IN_UCHARS(namelen));
5906              slot[2 + namelen] = 0;              slot[IMM2_SIZE + namelen] = 0;
5907              }              }
5908            }            }
5909    
# Line 5988  for (;; ptr++) Line 5987  for (;; ptr++)
5987            for (i = 0; i < cd->names_found; i++)            for (i = 0; i < cd->names_found; i++)
5988              {              {
5989              if (STRNCMP_UC_UC(name, slot+IMM2_SIZE, namelen) == 0 &&              if (STRNCMP_UC_UC(name, slot+IMM2_SIZE, namelen) == 0 &&
5990                  slot[2+namelen] == 0)                  slot[IMM2_SIZE+namelen] == 0)
5991                break;                break;
5992              slot += cd->name_entry_size;              slot += cd->name_entry_size;
5993              }              }
# Line 7614  externally provided function. Integer ov Line 7613  externally provided function. Integer ov
7613  because nowadays we limit the maximum value of cd->names_found and  because nowadays we limit the maximum value of cd->names_found and
7614  cd->name_entry_size. */  cd->name_entry_size. */
7615    
7616  size = sizeof(real_pcre) + (length + cd->names_found * (cd->name_entry_size + 3)) * sizeof(pcre_uchar);  size = sizeof(real_pcre) + (length + cd->names_found * cd->name_entry_size) * sizeof(pcre_uchar);
7617  re = (real_pcre *)(pcre_malloc)(size);  re = (real_pcre *)(pcre_malloc)(size);
7618    
7619  if (re == NULL)  if (re == NULL)

Legend:
Removed from v.788  
changed lines
  Added in v.789

  ViewVC Help
Powered by ViewVC 1.1.5