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

Diff of /code/trunk/pcre_exec.c

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

revision 1015 by ph10, Sun Aug 26 16:07:14 2012 UTC revision 1033 by ph10, Mon Sep 10 11:02:48 2012 UTC
# Line 2415  for (;;) Line 2415  for (;;)
2415        {        {
2416        default: RRETURN(MATCH_NOMATCH);        default: RRETURN(MATCH_NOMATCH);
2417    
2418        case 0x000d:        case CHAR_CR:
2419        if (eptr >= md->end_subject)        if (eptr >= md->end_subject)
2420          {          {
2421          SCHECK_PARTIAL();          SCHECK_PARTIAL();
2422          }          }
2423        else if (*eptr == 0x0a) eptr++;        else if (*eptr == CHAR_LF) eptr++;
2424        break;        break;
2425    
2426        case 0x000a:        case CHAR_LF:
2427        break;        break;
2428    
2429        case 0x000b:        case CHAR_VT:
2430        case 0x000c:        case CHAR_FF:
2431        case 0x0085:        case CHAR_NEL:
2432    #ifndef EBCDIC
2433        case 0x2028:        case 0x2028:
2434        case 0x2029:        case 0x2029:
2435    #endif  /* Not EBCDIC */
2436        if (md->bsr_anycrlf) RRETURN(MATCH_NOMATCH);        if (md->bsr_anycrlf) RRETURN(MATCH_NOMATCH);
2437        break;        break;
2438        }        }
# Line 2447  for (;;) Line 2449  for (;;)
2449      switch(c)      switch(c)
2450        {        {
2451        default: break;        default: break;
2452        case 0x09:      /* HT */        case CHAR_HT:
2453        case 0x20:      /* SPACE */        case CHAR_SPACE:
2454    #ifndef EBCDIC
2455        case 0xa0:      /* NBSP */        case 0xa0:      /* NBSP */
2456        case 0x1680:    /* OGHAM SPACE MARK */        case 0x1680:    /* OGHAM SPACE MARK */
2457        case 0x180e:    /* MONGOLIAN VOWEL SEPARATOR */        case 0x180e:    /* MONGOLIAN VOWEL SEPARATOR */
# Line 2466  for (;;) Line 2469  for (;;)
2469        case 0x202f:    /* NARROW NO-BREAK SPACE */        case 0x202f:    /* NARROW NO-BREAK SPACE */
2470        case 0x205f:    /* MEDIUM MATHEMATICAL SPACE */        case 0x205f:    /* MEDIUM MATHEMATICAL SPACE */
2471        case 0x3000:    /* IDEOGRAPHIC SPACE */        case 0x3000:    /* IDEOGRAPHIC SPACE */
2472    #endif  /* Not EBCDIC */
2473        RRETURN(MATCH_NOMATCH);        RRETURN(MATCH_NOMATCH);
2474        }        }
2475      ecode++;      ecode++;
# Line 2481  for (;;) Line 2485  for (;;)
2485      switch(c)      switch(c)
2486        {        {
2487        default: RRETURN(MATCH_NOMATCH);        default: RRETURN(MATCH_NOMATCH);
2488        case 0x09:      /* HT */        case CHAR_HT:
2489        case 0x20:      /* SPACE */        case CHAR_SPACE:
2490    #ifndef EBCDIC
2491        case 0xa0:      /* NBSP */        case 0xa0:      /* NBSP */
2492        case 0x1680:    /* OGHAM SPACE MARK */        case 0x1680:    /* OGHAM SPACE MARK */
2493        case 0x180e:    /* MONGOLIAN VOWEL SEPARATOR */        case 0x180e:    /* MONGOLIAN VOWEL SEPARATOR */
# Line 2500  for (;;) Line 2505  for (;;)
2505        case 0x202f:    /* NARROW NO-BREAK SPACE */        case 0x202f:    /* NARROW NO-BREAK SPACE */
2506        case 0x205f:    /* MEDIUM MATHEMATICAL SPACE */        case 0x205f:    /* MEDIUM MATHEMATICAL SPACE */
2507        case 0x3000:    /* IDEOGRAPHIC SPACE */        case 0x3000:    /* IDEOGRAPHIC SPACE */
2508    #endif  /* Not EBCDIC */
2509        break;        break;
2510        }        }
2511      ecode++;      ecode++;
# Line 2515  for (;;) Line 2521  for (;;)
2521      switch(c)      switch(c)
2522        {        {
2523        default: break;        default: break;
2524        case 0x0a:      /* LF */        case CHAR_LF:
2525        case 0x0b:      /* VT */        case CHAR_VT:
2526        case 0x0c:      /* FF */        case CHAR_FF:
2527        case 0x0d:      /* CR */        case CHAR_CR:
2528        case 0x85:      /* NEL */        case CHAR_NEL:
2529    #ifndef EBCDIC
2530        case 0x2028:    /* LINE SEPARATOR */        case 0x2028:    /* LINE SEPARATOR */
2531        case 0x2029:    /* PARAGRAPH SEPARATOR */        case 0x2029:    /* PARAGRAPH SEPARATOR */
2532    #endif  /* Not EBCDIC */
2533        RRETURN(MATCH_NOMATCH);        RRETURN(MATCH_NOMATCH);
2534        }        }
2535      ecode++;      ecode++;
# Line 2537  for (;;) Line 2545  for (;;)
2545      switch(c)      switch(c)
2546        {        {
2547        default: RRETURN(MATCH_NOMATCH);        default: RRETURN(MATCH_NOMATCH);
2548        case 0x0a:      /* LF */        case CHAR_LF:
2549        case 0x0b:      /* VT */        case CHAR_VT:
2550        case 0x0c:      /* FF */        case CHAR_FF:
2551        case 0x0d:      /* CR */        case CHAR_CR:
2552        case 0x85:      /* NEL */        case CHAR_NEL:
2553    #ifndef EBCDIC
2554        case 0x2028:    /* LINE SEPARATOR */        case 0x2028:    /* LINE SEPARATOR */
2555        case 0x2029:    /* PARAGRAPH SEPARATOR */        case 0x2029:    /* PARAGRAPH SEPARATOR */
2556    #endif  /* Not EBCDIC */
2557        break;        break;
2558        }        }
2559      ecode++;      ecode++;
# Line 4313  for (;;) Line 4323  for (;;)
4323              {              {
4324              default: RRETURN(MATCH_NOMATCH);              default: RRETURN(MATCH_NOMATCH);
4325    
4326              case 0x000d:              case CHAR_CR:
4327              if (eptr < md->end_subject && *eptr == 0x0a) eptr++;              if (eptr < md->end_subject && *eptr == CHAR_LF) eptr++;
4328              break;              break;
4329    
4330              case 0x000a:              case CHAR_LF:
4331              break;              break;
4332    
4333              case 0x000b:              case CHAR_VT:
4334              case 0x000c:              case CHAR_FF:
4335              case 0x0085:              case CHAR_NEL:
4336    #ifndef EBCDIC
4337              case 0x2028:              case 0x2028:
4338              case 0x2029:              case 0x2029:
4339    #endif  /* Not EBCDIC */
4340              if (md->bsr_anycrlf) RRETURN(MATCH_NOMATCH);              if (md->bsr_anycrlf) RRETURN(MATCH_NOMATCH);
4341              break;              break;
4342              }              }
# Line 4343  for (;;) Line 4355  for (;;)
4355            switch(c)            switch(c)
4356              {              {
4357              default: break;              default: break;
4358              case 0x09:      /* HT */              case CHAR_HT:
4359              case 0x20:      /* SPACE */              case CHAR_SPACE:
4360    #ifndef EBCDIC
4361              case 0xa0:      /* NBSP */              case 0xa0:      /* NBSP */
4362              case 0x1680:    /* OGHAM SPACE MARK */              case 0x1680:    /* OGHAM SPACE MARK */
4363              case 0x180e:    /* MONGOLIAN VOWEL SEPARATOR */              case 0x180e:    /* MONGOLIAN VOWEL SEPARATOR */
# Line 4362  for (;;) Line 4375  for (;;)
4375              case 0x202f:    /* NARROW NO-BREAK SPACE */              case 0x202f:    /* NARROW NO-BREAK SPACE */
4376              case 0x205f:    /* MEDIUM MATHEMATICAL SPACE */              case 0x205f:    /* MEDIUM MATHEMATICAL SPACE */
4377              case 0x3000:    /* IDEOGRAPHIC SPACE */              case 0x3000:    /* IDEOGRAPHIC SPACE */
4378    #endif  /* Not EBCDIC */
4379              RRETURN(MATCH_NOMATCH);              RRETURN(MATCH_NOMATCH);
4380              }              }
4381            }            }
# Line 4379  for (;;) Line 4393  for (;;)
4393            switch(c)            switch(c)
4394              {              {
4395              default: RRETURN(MATCH_NOMATCH);              default: RRETURN(MATCH_NOMATCH);
4396              case 0x09:      /* HT */              case CHAR_HT:
4397              case 0x20:      /* SPACE */              case CHAR_SPACE:
4398    #ifndef EBCDIC
4399              case 0xa0:      /* NBSP */              case 0xa0:      /* NBSP */
4400              case 0x1680:    /* OGHAM SPACE MARK */              case 0x1680:    /* OGHAM SPACE MARK */
4401              case 0x180e:    /* MONGOLIAN VOWEL SEPARATOR */              case 0x180e:    /* MONGOLIAN VOWEL SEPARATOR */
# Line 4398  for (;;) Line 4413  for (;;)
4413              case 0x202f:    /* NARROW NO-BREAK SPACE */              case 0x202f:    /* NARROW NO-BREAK SPACE */
4414              case 0x205f:    /* MEDIUM MATHEMATICAL SPACE */              case 0x205f:    /* MEDIUM MATHEMATICAL SPACE */
4415              case 0x3000:    /* IDEOGRAPHIC SPACE */              case 0x3000:    /* IDEOGRAPHIC SPACE */
4416    #endif
4417              break;              break;
4418              }              }
4419            }            }
# Line 4415  for (;;) Line 4431  for (;;)
4431            switch(c)            switch(c)
4432              {              {
4433              default: break;              default: break;
4434              case 0x0a:      /* LF */              case CHAR_LF:
4435              case 0x0b:      /* VT */              case CHAR_VT:
4436              case 0x0c:      /* FF */              case CHAR_FF:
4437              case 0x0d:      /* CR */              case CHAR_CR:
4438              case 0x85:      /* NEL */              case CHAR_NEL:
4439    #ifndef EBCDIC
4440              case 0x2028:    /* LINE SEPARATOR */              case 0x2028:    /* LINE SEPARATOR */
4441              case 0x2029:    /* PARAGRAPH SEPARATOR */              case 0x2029:    /* PARAGRAPH SEPARATOR */
4442    #endif
4443              RRETURN(MATCH_NOMATCH);              RRETURN(MATCH_NOMATCH);
4444              }              }
4445            }            }
# Line 4439  for (;;) Line 4457  for (;;)
4457            switch(c)            switch(c)
4458              {              {
4459              default: RRETURN(MATCH_NOMATCH);              default: RRETURN(MATCH_NOMATCH);
4460              case 0x0a:      /* LF */              case CHAR_LF:
4461              case 0x0b:      /* VT */              case CHAR_VT:
4462              case 0x0c:      /* FF */              case CHAR_FF:
4463              case 0x0d:      /* CR */              case CHAR_CR:
4464              case 0x85:      /* NEL */              case CHAR_NEL:
4465    #ifndef EBCDIC
4466              case 0x2028:    /* LINE SEPARATOR */              case 0x2028:    /* LINE SEPARATOR */
4467              case 0x2029:    /* PARAGRAPH SEPARATOR */              case 0x2029:    /* PARAGRAPH SEPARATOR */
4468    #endif
4469              break;              break;
4470              }              }
4471            }            }
# Line 4604  for (;;) Line 4624  for (;;)
4624              {              {
4625              default: RRETURN(MATCH_NOMATCH);              default: RRETURN(MATCH_NOMATCH);
4626    
4627              case 0x000d:              case CHAR_CR:
4628              if (eptr < md->end_subject && *eptr == 0x0a) eptr++;              if (eptr < md->end_subject && *eptr == CHAR_LF) eptr++;
4629              break;              break;
4630    
4631              case 0x000a:              case CHAR_LF:
4632              break;              break;
4633    
4634              case 0x000b:              case CHAR_VT:
4635              case 0x000c:              case CHAR_FF:
4636              case 0x0085:              case CHAR_NEL:
4637  #ifdef COMPILE_PCRE16  #ifdef COMPILE_PCRE16
4638              case 0x2028:              case 0x2028:
4639              case 0x2029:              case 0x2029:
# Line 4635  for (;;) Line 4655  for (;;)
4655            switch(*eptr++)            switch(*eptr++)
4656              {              {
4657              default: break;              default: break;
4658              case 0x09:      /* HT */              case CHAR_HT:
4659              case 0x20:      /* SPACE */              case CHAR_SPACE:
4660    #ifndef EBCDIC
4661              case 0xa0:      /* NBSP */              case 0xa0:      /* NBSP */
4662  #ifdef COMPILE_PCRE16  #ifdef COMPILE_PCRE16
4663              case 0x1680:    /* OGHAM SPACE MARK */              case 0x1680:    /* OGHAM SPACE MARK */
# Line 4655  for (;;) Line 4676  for (;;)
4676              case 0x202f:    /* NARROW NO-BREAK SPACE */              case 0x202f:    /* NARROW NO-BREAK SPACE */
4677              case 0x205f:    /* MEDIUM MATHEMATICAL SPACE */              case 0x205f:    /* MEDIUM MATHEMATICAL SPACE */
4678              case 0x3000:    /* IDEOGRAPHIC SPACE */              case 0x3000:    /* IDEOGRAPHIC SPACE */
4679  #endif  #endif  /* COMPILE_PCRE16 */
4680    #endif  /* Not EBCDIC */
4681              RRETURN(MATCH_NOMATCH);              RRETURN(MATCH_NOMATCH);
4682              }              }
4683            }            }
# Line 4672  for (;;) Line 4694  for (;;)
4694            switch(*eptr++)            switch(*eptr++)
4695              {              {
4696              default: RRETURN(MATCH_NOMATCH);              default: RRETURN(MATCH_NOMATCH);
4697              case 0x09:      /* HT */              case CHAR_HT:
4698              case 0x20:      /* SPACE */              case CHAR_SPACE:
4699    #ifndef EBCDIC
4700              case 0xa0:      /* NBSP */              case 0xa0:      /* NBSP */
4701  #ifdef COMPILE_PCRE16  #ifdef COMPILE_PCRE16
4702              case 0x1680:    /* OGHAM SPACE MARK */              case 0x1680:    /* OGHAM SPACE MARK */
# Line 4692  for (;;) Line 4715  for (;;)
4715              case 0x202f:    /* NARROW NO-BREAK SPACE */              case 0x202f:    /* NARROW NO-BREAK SPACE */
4716              case 0x205f:    /* MEDIUM MATHEMATICAL SPACE */              case 0x205f:    /* MEDIUM MATHEMATICAL SPACE */
4717              case 0x3000:    /* IDEOGRAPHIC SPACE */              case 0x3000:    /* IDEOGRAPHIC SPACE */
4718  #endif  #endif  /* COMPILE_PCRE16 */
4719    #endif  /* Not EBCDIC */
4720              break;              break;
4721              }              }
4722            }            }
# Line 4709  for (;;) Line 4733  for (;;)
4733            switch(*eptr++)            switch(*eptr++)
4734              {              {
4735              default: break;              default: break;
4736              case 0x0a:      /* LF */              case CHAR_LF:
4737              case 0x0b:      /* VT */              case CHAR_VT:
4738              case 0x0c:      /* FF */              case CHAR_FF:
4739              case 0x0d:      /* CR */              case CHAR_CR:
4740              case 0x85:      /* NEL */              case CHAR_NEL:
4741  #ifdef COMPILE_PCRE16  #ifdef COMPILE_PCRE16
4742              case 0x2028:    /* LINE SEPARATOR */              case 0x2028:    /* LINE SEPARATOR */
4743              case 0x2029:    /* PARAGRAPH SEPARATOR */              case 0x2029:    /* PARAGRAPH SEPARATOR */
# Line 4734  for (;;) Line 4758  for (;;)
4758            switch(*eptr++)            switch(*eptr++)
4759              {              {
4760              default: RRETURN(MATCH_NOMATCH);              default: RRETURN(MATCH_NOMATCH);
4761              case 0x0a:      /* LF */              case CHAR_LF:
4762              case 0x0b:      /* VT */              case CHAR_VT:
4763              case 0x0c:      /* FF */              case CHAR_FF:
4764              case 0x0d:      /* CR */              case CHAR_CR:
4765              case 0x85:      /* NEL */              case CHAR_NEL:
4766  #ifdef COMPILE_PCRE16  #ifdef COMPILE_PCRE16
4767              case 0x2028:    /* LINE SEPARATOR */              case 0x2028:    /* LINE SEPARATOR */
4768              case 0x2029:    /* PARAGRAPH SEPARATOR */              case 0x2029:    /* PARAGRAPH SEPARATOR */
# Line 5100  for (;;) Line 5124  for (;;)
5124              switch(c)              switch(c)
5125                {                {
5126                default: RRETURN(MATCH_NOMATCH);                default: RRETURN(MATCH_NOMATCH);
5127                case 0x000d:                case CHAR_CR:
5128                if (eptr < md->end_subject && *eptr == 0x0a) eptr++;                if (eptr < md->end_subject && *eptr == CHAR_LF) eptr++;
5129                break;                break;
5130                case 0x000a:  
5131                  case CHAR_LF:
5132                break;                break;
5133    
5134                case 0x000b:                case CHAR_VT:
5135                case 0x000c:                case CHAR_FF:
5136                case 0x0085:                case CHAR_NEL:
5137    #ifndef EBCDIC
5138                case 0x2028:                case 0x2028:
5139                case 0x2029:                case 0x2029:
5140    #endif  /* Not EBCDIC */
5141                if (md->bsr_anycrlf) RRETURN(MATCH_NOMATCH);                if (md->bsr_anycrlf) RRETURN(MATCH_NOMATCH);
5142                break;                break;
5143                }                }
# Line 5120  for (;;) Line 5147  for (;;)
5147              switch(c)              switch(c)
5148                {                {
5149                default: break;                default: break;
5150                case 0x09:      /* HT */                case CHAR_HT:
5151                case 0x20:      /* SPACE */                case CHAR_SPACE:
5152    #ifndef EBCDIC
5153                case 0xa0:      /* NBSP */                case 0xa0:      /* NBSP */
5154                case 0x1680:    /* OGHAM SPACE MARK */                case 0x1680:    /* OGHAM SPACE MARK */
5155                case 0x180e:    /* MONGOLIAN VOWEL SEPARATOR */                case 0x180e:    /* MONGOLIAN VOWEL SEPARATOR */
# Line 5139  for (;;) Line 5167  for (;;)
5167                case 0x202f:    /* NARROW NO-BREAK SPACE */                case 0x202f:    /* NARROW NO-BREAK SPACE */
5168                case 0x205f:    /* MEDIUM MATHEMATICAL SPACE */                case 0x205f:    /* MEDIUM MATHEMATICAL SPACE */
5169                case 0x3000:    /* IDEOGRAPHIC SPACE */                case 0x3000:    /* IDEOGRAPHIC SPACE */
5170    #endif  /* Not EBCDIC */
5171                RRETURN(MATCH_NOMATCH);                RRETURN(MATCH_NOMATCH);
5172                }                }
5173              break;              break;
# Line 5147  for (;;) Line 5176  for (;;)
5176              switch(c)              switch(c)
5177                {                {
5178                default: RRETURN(MATCH_NOMATCH);                default: RRETURN(MATCH_NOMATCH);
5179                case 0x09:      /* HT */                case CHAR_HT:
5180                case 0x20:      /* SPACE */                case CHAR_SPACE:
5181    #ifndef EBCDIC
5182                case 0xa0:      /* NBSP */                case 0xa0:      /* NBSP */
5183                case 0x1680:    /* OGHAM SPACE MARK */                case 0x1680:    /* OGHAM SPACE MARK */
5184                case 0x180e:    /* MONGOLIAN VOWEL SEPARATOR */                case 0x180e:    /* MONGOLIAN VOWEL SEPARATOR */
# Line 5166  for (;;) Line 5196  for (;;)
5196                case 0x202f:    /* NARROW NO-BREAK SPACE */                case 0x202f:    /* NARROW NO-BREAK SPACE */
5197                case 0x205f:    /* MEDIUM MATHEMATICAL SPACE */                case 0x205f:    /* MEDIUM MATHEMATICAL SPACE */
5198                case 0x3000:    /* IDEOGRAPHIC SPACE */                case 0x3000:    /* IDEOGRAPHIC SPACE */
5199    #endif  /* Not EBCDIC */
5200                break;                break;
5201                }                }
5202              break;              break;
# Line 5174  for (;;) Line 5205  for (;;)
5205              switch(c)              switch(c)
5206                {                {
5207                default: break;                default: break;
5208                case 0x0a:      /* LF */                case CHAR_LF:
5209                case 0x0b:      /* VT */                case CHAR_VT:
5210                case 0x0c:      /* FF */                case CHAR_FF:
5211                case 0x0d:      /* CR */                case CHAR_CR:
5212                case 0x85:      /* NEL */                case CHAR_NEL:
5213    #ifndef EBCDIC
5214                case 0x2028:    /* LINE SEPARATOR */                case 0x2028:    /* LINE SEPARATOR */
5215                case 0x2029:    /* PARAGRAPH SEPARATOR */                case 0x2029:    /* PARAGRAPH SEPARATOR */
5216    #endif  /* Not EBCDIC */
5217                RRETURN(MATCH_NOMATCH);                RRETURN(MATCH_NOMATCH);
5218                }                }
5219              break;              break;
# Line 5189  for (;;) Line 5222  for (;;)
5222              switch(c)              switch(c)
5223                {                {
5224                default: RRETURN(MATCH_NOMATCH);                default: RRETURN(MATCH_NOMATCH);
5225                case 0x0a:      /* LF */                case CHAR_LF:
5226                case 0x0b:      /* VT */                case CHAR_VT:
5227                case 0x0c:      /* FF */                case CHAR_FF:
5228                case 0x0d:      /* CR */                case CHAR_CR:
5229                case 0x85:      /* NEL */                case CHAR_NEL:
5230    #ifndef EBCDIC
5231                case 0x2028:    /* LINE SEPARATOR */                case 0x2028:    /* LINE SEPARATOR */
5232                case 0x2029:    /* PARAGRAPH SEPARATOR */                case 0x2029:    /* PARAGRAPH SEPARATOR */
5233    #endif  /* Not EBCDIC */
5234                break;                break;
5235                }                }
5236              break;              break;
# Line 5274  for (;;) Line 5309  for (;;)
5309              switch(c)              switch(c)
5310                {                {
5311                default: RRETURN(MATCH_NOMATCH);                default: RRETURN(MATCH_NOMATCH);
5312                case 0x000d:                case CHAR_CR:
5313                if (eptr < md->end_subject && *eptr == 0x0a) eptr++;                if (eptr < md->end_subject && *eptr == CHAR_LF) eptr++;
5314                break;                break;
5315    
5316                case 0x000a:                case CHAR_LF:
5317                break;                break;
5318    
5319                case 0x000b:                case CHAR_VT:
5320                case 0x000c:                case CHAR_FF:
5321                case 0x0085:                case CHAR_NEL:
5322  #ifdef COMPILE_PCRE16  #ifdef COMPILE_PCRE16
5323                case 0x2028:                case 0x2028:
5324                case 0x2029:                case 0x2029:
# Line 5297  for (;;) Line 5332  for (;;)
5332              switch(c)              switch(c)
5333                {                {
5334                default: break;                default: break;
5335                case 0x09:      /* HT */                case CHAR_HT:
5336                case 0x20:      /* SPACE */                case CHAR_SPACE:
5337    #ifndef EBCDIC
5338                case 0xa0:      /* NBSP */                case 0xa0:      /* NBSP */
5339  #ifdef COMPILE_PCRE16  #ifdef COMPILE_PCRE16
5340                case 0x1680:    /* OGHAM SPACE MARK */                case 0x1680:    /* OGHAM SPACE MARK */
# Line 5317  for (;;) Line 5353  for (;;)
5353                case 0x202f:    /* NARROW NO-BREAK SPACE */                case 0x202f:    /* NARROW NO-BREAK SPACE */
5354                case 0x205f:    /* MEDIUM MATHEMATICAL SPACE */                case 0x205f:    /* MEDIUM MATHEMATICAL SPACE */
5355                case 0x3000:    /* IDEOGRAPHIC SPACE */                case 0x3000:    /* IDEOGRAPHIC SPACE */
5356  #endif  #endif  /* COMPILE_PCRE16 */
5357    #endif  /* Not EBCDIC */
5358                RRETURN(MATCH_NOMATCH);                RRETURN(MATCH_NOMATCH);
5359                }                }
5360              break;              break;
# Line 5326  for (;;) Line 5363  for (;;)
5363              switch(c)              switch(c)
5364                {                {
5365                default: RRETURN(MATCH_NOMATCH);                default: RRETURN(MATCH_NOMATCH);
5366                case 0x09:      /* HT */                case CHAR_HT:
5367                case 0x20:      /* SPACE */                case CHAR_SPACE:
5368    #ifndef EBCDIC
5369                case 0xa0:      /* NBSP */                case 0xa0:      /* NBSP */
5370  #ifdef COMPILE_PCRE16  #ifdef COMPILE_PCRE16
5371                case 0x1680:    /* OGHAM SPACE MARK */                case 0x1680:    /* OGHAM SPACE MARK */
# Line 5346  for (;;) Line 5384  for (;;)
5384                case 0x202f:    /* NARROW NO-BREAK SPACE */                case 0x202f:    /* NARROW NO-BREAK SPACE */
5385                case 0x205f:    /* MEDIUM MATHEMATICAL SPACE */                case 0x205f:    /* MEDIUM MATHEMATICAL SPACE */
5386                case 0x3000:    /* IDEOGRAPHIC SPACE */                case 0x3000:    /* IDEOGRAPHIC SPACE */
5387  #endif  #endif  /* COMPILE_PCRE16 */
5388    #endif  /* Not EBCDIC */
5389                break;                break;
5390                }                }
5391              break;              break;
# Line 5355  for (;;) Line 5394  for (;;)
5394              switch(c)              switch(c)
5395                {                {
5396                default: break;                default: break;
5397                case 0x0a:      /* LF */                case CHAR_LF:
5398                case 0x0b:      /* VT */                case CHAR_VT:
5399                case 0x0c:      /* FF */                case CHAR_FF:
5400                case 0x0d:      /* CR */                case CHAR_CR:
5401                case 0x85:      /* NEL */                case CHAR_NEL:
5402  #ifdef COMPILE_PCRE16  #ifdef COMPILE_PCRE16
5403                case 0x2028:    /* LINE SEPARATOR */                case 0x2028:    /* LINE SEPARATOR */
5404                case 0x2029:    /* PARAGRAPH SEPARATOR */                case 0x2029:    /* PARAGRAPH SEPARATOR */
# Line 5372  for (;;) Line 5411  for (;;)
5411              switch(c)              switch(c)
5412                {                {
5413                default: RRETURN(MATCH_NOMATCH);                default: RRETURN(MATCH_NOMATCH);
5414                case 0x0a:      /* LF */                case CHAR_LF:
5415                case 0x0b:      /* VT */                case CHAR_VT:
5416                case 0x0c:      /* FF */                case CHAR_FF:
5417                case 0x0d:      /* CR */                case CHAR_CR:
5418                case 0x85:      /* NEL */                case CHAR_NEL:
5419  #ifdef COMPILE_PCRE16  #ifdef COMPILE_PCRE16
5420                case 0x2028:    /* LINE SEPARATOR */                case 0x2028:    /* LINE SEPARATOR */
5421                case 0x2029:    /* PARAGRAPH SEPARATOR */                case 0x2029:    /* PARAGRAPH SEPARATOR */
# Line 5754  for (;;) Line 5793  for (;;)
5793                break;                break;
5794                }                }
5795              GETCHARLEN(c, eptr, len);              GETCHARLEN(c, eptr, len);
5796              if (c == 0x000d)              if (c == CHAR_CR)
5797                {                {
5798                if (++eptr >= md->end_subject) break;                if (++eptr >= md->end_subject) break;
5799                if (*eptr == 0x000a) eptr++;                if (*eptr == CHAR_LF) eptr++;
5800                }                }
5801              else              else
5802                {                {
5803                if (c != 0x000a &&                if (c != CHAR_LF &&
5804                    (md->bsr_anycrlf ||                    (md->bsr_anycrlf ||
5805                     (c != 0x000b && c != 0x000c &&                     (c != CHAR_VT && c != CHAR_FF && c != CHAR_NEL
5806                      c != 0x0085 && c != 0x2028 && c != 0x2029)))  #ifndef EBCDIC
5807                        && c != 0x2028 && c != 0x2029
5808    #endif  /* Not EBCDIC */
5809                        )))
5810                  break;                  break;
5811                eptr += len;                eptr += len;
5812                }                }
# Line 5786  for (;;) Line 5828  for (;;)
5828              switch(c)              switch(c)
5829                {                {
5830                default: gotspace = FALSE; break;                default: gotspace = FALSE; break;
5831                case 0x09:      /* HT */                case CHAR_HT:
5832                case 0x20:      /* SPACE */                case CHAR_SPACE:
5833    #ifndef EBCDIC
5834                case 0xa0:      /* NBSP */                case 0xa0:      /* NBSP */
5835                case 0x1680:    /* OGHAM SPACE MARK */                case 0x1680:    /* OGHAM SPACE MARK */
5836                case 0x180e:    /* MONGOLIAN VOWEL SEPARATOR */                case 0x180e:    /* MONGOLIAN VOWEL SEPARATOR */
# Line 5805  for (;;) Line 5848  for (;;)
5848                case 0x202f:    /* NARROW NO-BREAK SPACE */                case 0x202f:    /* NARROW NO-BREAK SPACE */
5849                case 0x205f:    /* MEDIUM MATHEMATICAL SPACE */                case 0x205f:    /* MEDIUM MATHEMATICAL SPACE */
5850                case 0x3000:    /* IDEOGRAPHIC SPACE */                case 0x3000:    /* IDEOGRAPHIC SPACE */
5851    #endif  /* Not EBCDIC */
5852                gotspace = TRUE;                gotspace = TRUE;
5853                break;                break;
5854                }                }
# Line 5828  for (;;) Line 5872  for (;;)
5872              switch(c)              switch(c)
5873                {                {
5874                default: gotspace = FALSE; break;                default: gotspace = FALSE; break;
5875                case 0x0a:      /* LF */                case CHAR_LF:
5876                case 0x0b:      /* VT */                case CHAR_VT:
5877                case 0x0c:      /* FF */                case CHAR_FF:
5878                case 0x0d:      /* CR */                case CHAR_CR:
5879                case 0x85:      /* NEL */                case CHAR_NEL:
5880    #ifndef EBCDIC
5881                case 0x2028:    /* LINE SEPARATOR */                case 0x2028:    /* LINE SEPARATOR */
5882                case 0x2029:    /* PARAGRAPH SEPARATOR */                case 0x2029:    /* PARAGRAPH SEPARATOR */
5883    #endif  /* Not EBCDIC */
5884                gotspace = TRUE;                gotspace = TRUE;
5885                break;                break;
5886                }                }
# Line 5950  for (;;) Line 5996  for (;;)
5996            if (rrc != MATCH_NOMATCH) RRETURN(rrc);            if (rrc != MATCH_NOMATCH) RRETURN(rrc);
5997            if (eptr-- == pp) break;        /* Stop if tried at original pos */            if (eptr-- == pp) break;        /* Stop if tried at original pos */
5998            BACKCHAR(eptr);            BACKCHAR(eptr);
5999            if (ctype == OP_ANYNL && eptr > pp  && *eptr == '\n' &&            if (ctype == OP_ANYNL && eptr > pp  && *eptr == CHAR_NL &&
6000                eptr[-1] == '\r') eptr--;                eptr[-1] == CHAR_CR) eptr--;
6001            }            }
6002          }          }
6003        else        else
# Line 6002  for (;;) Line 6048  for (;;)
6048                break;                break;
6049                }                }
6050              c = *eptr;              c = *eptr;
6051              if (c == 0x000d)              if (c == CHAR_CR)
6052                {                {
6053                if (++eptr >= md->end_subject) break;                if (++eptr >= md->end_subject) break;
6054                if (*eptr == 0x000a) eptr++;                if (*eptr == CHAR_LF) eptr++;
6055                }                }
6056              else              else
6057                {                {
6058                if (c != 0x000a && (md->bsr_anycrlf ||                if (c != CHAR_LF && (md->bsr_anycrlf ||
6059                  (c != 0x000b && c != 0x000c && c != 0x0085                   (c != CHAR_VT && c != CHAR_FF && c != CHAR_NEL
6060  #ifdef COMPILE_PCRE16  #ifdef COMPILE_PCRE16
6061                  && c != 0x2028 && c != 0x2029                   && c != 0x2028 && c != 0x2029
6062  #endif  #endif
6063                  ))) break;                   ))) break;
6064                eptr++;                eptr++;
6065                }                }
6066              }              }
# Line 6029  for (;;) Line 6075  for (;;)
6075                break;                break;
6076                }                }
6077              c = *eptr;              c = *eptr;
6078              if (c == 0x09 || c == 0x20 || c == 0xa0              if (c == CHAR_HT || c == CHAR_SPACE
6079    #ifndef EBCDIC
6080                  || c == 0xa0
6081  #ifdef COMPILE_PCRE16  #ifdef COMPILE_PCRE16
6082                || c == 0x1680 || c == 0x180e || (c >= 0x2000 && c <= 0x200A)                || c == 0x1680 || c == 0x180e || (c >= 0x2000 && c <= 0x200A)
6083                || c == 0x202f || c == 0x205f || c == 0x3000                || c == 0x202f || c == 0x205f || c == 0x3000
6084  #endif  #endif  /* COMPILE_PCRE16 */
6085    #endif  /* Not EBCDIC */
6086                ) break;                ) break;
6087              eptr++;              eptr++;
6088              }              }
# Line 6048  for (;;) Line 6097  for (;;)
6097                break;                break;
6098                }                }
6099              c = *eptr;              c = *eptr;
6100              if (c != 0x09 && c != 0x20 && c != 0xa0              if (c != CHAR_HT && c != CHAR_SPACE
6101    #ifndef EBCDIC
6102                  && c != 0xa0
6103  #ifdef COMPILE_PCRE16  #ifdef COMPILE_PCRE16
6104                && c != 0x1680 && c != 0x180e && (c < 0x2000 || c > 0x200A)                && c != 0x1680 && c != 0x180e && (c < 0x2000 || c > 0x200A)
6105                && c != 0x202f && c != 0x205f && c != 0x3000                && c != 0x202f && c != 0x205f && c != 0x3000
6106  #endif  #endif  /* COMPILE_PCRE16 */
6107    #endif  /* Not EBCDIC */
6108                ) break;                ) break;
6109              eptr++;              eptr++;
6110              }              }
# Line 6067  for (;;) Line 6119  for (;;)
6119                break;                break;
6120                }                }
6121              c = *eptr;              c = *eptr;
6122              if (c == 0x0a || c == 0x0b || c == 0x0c || c == 0x0d || c == 0x85              if (c == CHAR_LF || c == CHAR_VT || c == CHAR_FF ||
6123                    c == CHAR_CR || c == CHAR_NEL
6124  #ifdef COMPILE_PCRE16  #ifdef COMPILE_PCRE16
6125                || c == 0x2028 || c == 0x2029                || c == 0x2028 || c == 0x2029
6126  #endif  #endif
# Line 6085  for (;;) Line 6138  for (;;)
6138                break;                break;
6139                }                }
6140              c = *eptr;              c = *eptr;
6141              if (c != 0x0a && c != 0x0b && c != 0x0c && c != 0x0d && c != 0x85              if (c != CHAR_LF && c != CHAR_VT && c != CHAR_FF &&
6142                    c != CHAR_CR && c != CHAR_NEL
6143  #ifdef COMPILE_PCRE16  #ifdef COMPILE_PCRE16
6144                && c != 0x2028 && c != 0x2029                && c != 0x2028 && c != 0x2029
6145  #endif  #endif
# Line 6188  for (;;) Line 6242  for (;;)
6242            RMATCH(eptr, ecode, offset_top, md, eptrb, RM47);            RMATCH(eptr, ecode, offset_top, md, eptrb, RM47);
6243            if (rrc != MATCH_NOMATCH) RRETURN(rrc);            if (rrc != MATCH_NOMATCH) RRETURN(rrc);
6244            eptr--;            eptr--;
6245            if (ctype == OP_ANYNL && eptr > pp  && *eptr == '\n' &&            if (ctype == OP_ANYNL && eptr > pp  && *eptr == CHAR_LF &&
6246                eptr[-1] == '\r') eptr--;                eptr[-1] == CHAR_CR) eptr--;
6247            }            }
6248          }          }
6249    

Legend:
Removed from v.1015  
changed lines
  Added in v.1033

  ViewVC Help
Powered by ViewVC 1.1.5