Loading...
regex/FreeBSD/engine.c.patch Libc-763.13 Libc-594.9.1
--- Libc/Libc-763.13/regex/FreeBSD/engine.c.patch
+++ Libc/Libc-594.9.1/regex/FreeBSD/engine.c.patch
@@ -1,6 +1,6 @@
---- engine.c.bsdnew	2009-11-11 11:29:04.000000000 -0800
-+++ engine.c	2009-11-11 11:30:28.000000000 -0800
-@@ -272,7 +272,7 @@ matcher(struct re_guts *g,
+--- engine.c.orig	2004-11-25 11:38:32.000000000 -0800
++++ engine.c	2005-04-18 16:52:09.000000000 -0700
+@@ -270,7 +270,7 @@ int eflags;
  				break;
  			assert(m->coldp < m->endp);
  			m->coldp += XMBRTOWC(NULL, m->coldp,
@@ -9,16 +9,16 @@
  		}
  		if (nmatch == 1 && !g->backrefs)
  			break;		/* no further info needed */
-@@ -333,7 +333,7 @@ matcher(struct re_guts *g,
+@@ -331,7 +331,7 @@ int eflags;
  		NOTE("false alarm");
  		/* recycle starting later */
  		start = m->coldp + XMBRTOWC(NULL, m->coldp,
--		    stop - m->coldp, &m->mbs, 0);
-+		    stop - m->coldp, &m->mbs, 0, g->loc);
+-		    m->endp - m->coldp, &m->mbs, 0);
++		    m->endp - m->coldp, &m->mbs, 0, g->loc);
  		assert(start <= stop);
  	}
  
-@@ -410,7 +410,7 @@ dissect(struct match *m,
+@@ -409,7 +409,7 @@ sopno stopst;
  			assert(nope);
  			break;
  		case OCHAR:
@@ -27,7 +27,7 @@
  			break;
  		case OBOL:
  		case OEOL:
-@@ -419,7 +419,7 @@ dissect(struct match *m,
+@@ -418,7 +418,7 @@ sopno stopst;
  			break;
  		case OANY:
  		case OANYOF:
@@ -36,7 +36,7 @@
  			break;
  		case OBACK_:
  		case O_BACK:
-@@ -480,6 +480,10 @@ dissect(struct match *m,
+@@ -479,6 +479,10 @@ sopno stopst;
  				sep = ssp;
  				ssp = oldssp;
  			}
@@ -47,7 +47,7 @@
  			assert(sep == rest);	/* must exhaust substring */
  			assert(slow(m, ssp, sep, ssub, esub) == rest);
  			dp = dissect(m, ssp, sep, ssub, esub);
-@@ -532,6 +536,14 @@ dissect(struct match *m,
+@@ -531,6 +535,14 @@ sopno stopst;
  			i = OPND(m->g->strip[ss]);
  			assert(0 < i && i <= m->g->nsub);
  			m->pmatch[i].rm_so = sp - m->offp;
@@ -62,7 +62,7 @@
  			break;
  		case ORPAREN:
  			i = OPND(m->g->strip[ss]);
-@@ -586,14 +598,14 @@ backref(struct match *m,
+@@ -585,14 +597,14 @@ sopno lev;			/* PLUS nesting level */
  		case OCHAR:
  			if (sp == stop)
  				return(NULL);
@@ -79,7 +79,7 @@
  			if (wc == BADCHAR)
  				return (NULL);
  			break;
-@@ -601,8 +613,8 @@ backref(struct match *m,
+@@ -600,8 +612,8 @@ sopno lev;			/* PLUS nesting level */
  			if (sp == stop)
  				return (NULL);
  			cs = &m->g->sets[OPND(s)];
@@ -90,7 +90,7 @@
  				return(NULL);
  			break;
  		case OBOL:
-@@ -626,8 +638,8 @@ backref(struct match *m,
+@@ -625,8 +637,8 @@ sopno lev;			/* PLUS nesting level */
  					(sp < m->endp && *(sp-1) == '\n' &&
  						(m->g->cflags&REG_NEWLINE)) ||
  					(sp > m->beginp &&
@@ -101,7 +101,7 @@
  				{ /* yes */ }
  			else
  				return(NULL);
-@@ -636,8 +648,8 @@ backref(struct match *m,
+@@ -635,8 +647,8 @@ sopno lev;			/* PLUS nesting level */
  			if (( (sp == m->endp && !(m->eflags&REG_NOTEOL)) ||
  					(sp < m->endp && *sp == '\n' &&
  						(m->g->cflags&REG_NEWLINE)) ||
@@ -112,16 +112,16 @@
  				{ /* yes */ }
  			else
  				return(NULL);
-@@ -811,7 +823,7 @@ fast(	struct match *m,
- 			clen = 0;
+@@ -807,7 +819,7 @@ sopno stopst;
+ 		if (p == m->endp)
  			c = OUT;
- 		} else
+ 		else
 -			clen = XMBRTOWC(&c, p, m->endp - p, &m->mbs, BADCHAR);
 +			clen = XMBRTOWC(&c, p, m->endp - p, &m->mbs, BADCHAR, m->g->loc);
  		if (EQ(st, fresh))
  			coldp = p;
  
-@@ -835,12 +847,12 @@ fast(	struct match *m,
+@@ -831,12 +843,12 @@ sopno stopst;
  		}
  
  		/* how about a word boundary? */
@@ -138,16 +138,16 @@
  			flagch = EOW;
  		}
  		if (flagch == BOW || flagch == EOW) {
-@@ -865,7 +877,7 @@ fast(	struct match *m,
+@@ -861,7 +873,7 @@ sopno stopst;
  	assert(coldp != NULL);
  	m->coldp = coldp;
  	if (ISSET(st, stopst))
--		return(p+XMBRTOWC(NULL, p, stop - p, &m->mbs, 0));
-+		return(p+XMBRTOWC(NULL, p, stop - p, &m->mbs, 0, m->g->loc));
+-		return(p+XMBRTOWC(NULL, p, m->endp - p, &m->mbs, 0));
++		return(p+XMBRTOWC(NULL, p, m->endp - p, &m->mbs, 0, m->g->loc));
  	else
  		return(NULL);
  }
-@@ -916,7 +928,7 @@ slow(	struct match *m,
+@@ -913,7 +925,7 @@ sopno stopst;
  			c = OUT;
  			clen = 0;
  		} else
@@ -156,7 +156,7 @@
  
  		/* is there an EOL and/or BOL between lastc and c? */
  		flagch = '\0';
-@@ -938,12 +950,12 @@ slow(	struct match *m,
+@@ -935,12 +947,12 @@ sopno stopst;
  		}
  
  		/* how about a word boundary? */
@@ -173,7 +173,7 @@
  			flagch = EOW;
  		}
  		if (flagch == BOW || flagch == EOW) {
-@@ -1033,7 +1045,7 @@ step(struct re_guts *g,
+@@ -1031,7 +1043,7 @@ states aft;			/* states already known re
  			break;
  		case OANYOF:
  			cs = &g->sets[OPND(s)];