[BACK]Return to engine.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / lib / libc / regex

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/lib/libc/regex/engine.c between version 1.2 and 1.3

version 1.2, 1993/11/11 02:03:05 version 1.3, 1994/02/23 21:17:45
Line 480  sopno lev;   /* PLUS nesting level */
Line 480  sopno lev;   /* PLUS nesting level */
                                         (sp < m->endp && *(sp-1) == '\n' &&                                          (sp < m->endp && *(sp-1) == '\n' &&
                                                 (m->g->cflags&REG_NEWLINE)) ||                                                  (m->g->cflags&REG_NEWLINE)) ||
                                         (sp > m->beginp &&                                          (sp > m->beginp &&
                                                         !isalnum(*(sp-1))) ) &&                                                          !ISWORD(*(sp-1))) ) &&
                                         (sp < m->endp && isalnum(*sp)) )                                          (sp < m->endp && ISWORD(*sp)) )
                                 { /* yes */ }                                  { /* yes */ }
                         else                          else
                                 return(NULL);                                  return(NULL);
Line 490  sopno lev;   /* PLUS nesting level */
Line 490  sopno lev;   /* PLUS nesting level */
                         if (( (sp == m->endp && !(m->eflags&REG_NOTEOL)) ||                          if (( (sp == m->endp && !(m->eflags&REG_NOTEOL)) ||
                                         (sp < m->endp && *sp == '\n' &&                                          (sp < m->endp && *sp == '\n' &&
                                                 (m->g->cflags&REG_NEWLINE)) ||                                                  (m->g->cflags&REG_NEWLINE)) ||
                                         (sp < m->endp && !isalnum(*sp)) ) &&                                          (sp < m->endp && !ISWORD(*sp)) ) &&
                                         (sp > m->beginp && isalnum(*(sp-1))) )                                          (sp > m->beginp && ISWORD(*(sp-1))) )
                                 { /* yes */ }                                  { /* yes */ }
                         else                          else
                                 return(NULL);                                  return(NULL);
Line 671  sopno stopst;
Line 671  sopno stopst;
                 }                  }
   
                 /* how about a word boundary? */                  /* how about a word boundary? */
                 if ( (flagch == BOL || (lastc != OUT && !isalnum(lastc))) &&                  if ( (flagch == BOL || (lastc != OUT && !ISWORD(lastc))) &&
                                         (c != OUT && isalnum(c)) ) {                                          (c != OUT && ISWORD(c)) ) {
                         flagch = BOW;                          flagch = BOW;
                 }                  }
                 if ( (lastc != OUT && isalnum(lastc)) &&                  if ( (lastc != OUT && ISWORD(lastc)) &&
                                 (flagch == EOL || (c != OUT && !isalnum(c))) ) {                                  (flagch == EOL || (c != OUT && !ISWORD(c))) ) {
                         flagch = EOW;                          flagch = EOW;
                 }                  }
                 if (flagch == BOW || flagch == EOW) {                  if (flagch == BOW || flagch == EOW) {
Line 760  sopno stopst;
Line 760  sopno stopst;
                 }                  }
   
                 /* how about a word boundary? */                  /* how about a word boundary? */
                 if ( (flagch == BOL || (lastc != OUT && !isalnum(lastc))) &&                  if ( (flagch == BOL || (lastc != OUT && !ISWORD(lastc))) &&
                                         (c != OUT && isalnum(c)) ) {                                          (c != OUT && ISWORD(c)) ) {
                         flagch = BOW;                          flagch = BOW;
                 }                  }
                 if ( (lastc != OUT && isalnum(lastc)) &&                  if ( (lastc != OUT && ISWORD(lastc)) &&
                                 (flagch == EOL || (c != OUT && !isalnum(c))) ) {                                  (flagch == EOL || (c != OUT && !ISWORD(c))) ) {
                         flagch = EOW;                          flagch = EOW;
                 }                  }
                 if (flagch == BOW || flagch == EOW) {                  if (flagch == BOW || flagch == EOW) {
Line 795  sopno stopst;
Line 795  sopno stopst;
   
 /*  /*
  - step - map set of states reachable before char to set reachable after   - step - map set of states reachable before char to set reachable after
  == static states step(register struct re_guts *g, int start, int stop, \   == static states step(register struct re_guts *g, sopno start, sopno stop, \
  ==     register states bef, int ch, register states aft);   ==     register states bef, int ch, register states aft);
  == #define     BOL     (OUT+1)   == #define     BOL     (OUT+1)
  == #define     EOL     (BOL+1)   == #define     EOL     (BOL+1)
Line 810  sopno stopst;
Line 810  sopno stopst;
 static states  static states
 step(g, start, stop, bef, ch, aft)  step(g, start, stop, bef, ch, aft)
 register struct re_guts *g;  register struct re_guts *g;
 int start;                      /* start state within strip */  sopno start;                    /* start state within strip */
 int stop;                       /* state after stop state within strip */  sopno stop;                     /* state after stop state within strip */
 register states bef;            /* states reachable before */  register states bef;            /* states reachable before */
 int ch;                         /* character or NONCHAR code */  int ch;                         /* character or NONCHAR code */
 register states aft;            /* states already known reachable after */  register states aft;            /* states already known reachable after */

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

CVSweb <webmaster@jp.NetBSD.org>