ast@cs.vu.nl (Andy Tanenbaum) (10/06/88)
*** lib/regexp.c Wed Oct 5 20:52:28 1988
--- ../tape2/lib/regexp.c Fri Aug 7 21:02:49 1987
***************
*** 26,33 ****
* Andy Tanenbaum also made some changes.
*/
! #include <stdio.h>
! #include <regexp.h>
/*
* The first byte of the regexp internal "program" is actually this magic
--- 26,33 ----
* Andy Tanenbaum also made some changes.
*/
! #include "../include/stdio.h"
! #include "../include/regexp.h"
/*
* The first byte of the regexp internal "program" is actually this magic
***************
*** 121,127 ****
* but allows patterns to get big without disasters.
*/
#define OP(p) (*(p))
! #define NEXT(p) (((*((p)+1)&0377)<<8) + (*((p)+2)&0377))
#define OPERAND(p) ((p) + 3)
--- 121,127 ----
* but allows patterns to get big without disasters.
*/
#define OP(p) (*(p))
! #define NEXT(p) (((*((p)+1)&0377)<<8) + *((p)+2)&0377)
#define OPERAND(p) ((p) + 3)
***************
*** 999,1005 ****
register int count = 0;
register char *scan;
register char *opnd;
- extern char *strchr();
scan = reginput;
opnd = OPERAND(p);
--- 999,1004 ----
***************
*** 1078,1089 ****
s = r->program + 1;
while (op != END) { /* While that wasn't END last time... */
op = OP(s);
! printf("%2d%s", (int)(s-r->program), regprop(s)); /* Where, what. */
next = regnext(s);
if (next == NULL) /* Next ptr. */
printf("(0)");
else
! printf("(%d)", (int)(s-r->program)+(int)(next-s));
s += 3;
if (op == ANYOF || op == ANYBUT || op == EXACTLY) {
/* Literal string, where present. */
--- 1077,1088 ----
s = r->program + 1;
while (op != END) { /* While that wasn't END last time... */
op = OP(s);
! printf("%2d%s", s-r->program, regprop(s)); /* Where, what. */
next = regnext(s);
if (next == NULL) /* Next ptr. */
printf("(0)");
else
! printf("(%d)", (s-r->program)+(next-s));
s += 3;
if (op == ANYOF || op == ANYBUT || op == EXACTLY) {
/* Literal string, where present. */