BSD 3 development
[unix-history] / usr / src / cmd / egrep.y
index 58b81c6..22de9fd 100644 (file)
@@ -23,7 +23,7 @@
 char gotofn[NSTATES][NCHARS];
 int state[NSTATES];
 char out[NSTATES];
 char gotofn[NSTATES][NCHARS];
 int state[NSTATES];
 char out[NSTATES];
-int line 1;
+int line 1;
 int name[MAXLIN];
 int left[MAXLIN];
 int right[MAXLIN];
 int name[MAXLIN];
 int left[MAXLIN];
 int right[MAXLIN];
@@ -32,7 +32,7 @@ int foll[MAXLIN];
 int positions[MAXPOS];
 char chars[MAXLIN];
 int nxtpos;
 int positions[MAXPOS];
 char chars[MAXLIN];
 int nxtpos;
-int nxtchar 0;
+int nxtchar 0;
 int tmpstat[MAXLIN];
 int initstat[MAXLIN];
 int xstate;
 int tmpstat[MAXLIN];
 int initstat[MAXLIN];
 int xstate;
@@ -50,7 +50,7 @@ int   hflag   = 1;
 int    sflag;
 int    vflag;
 int    nfile;
 int    sflag;
 int    vflag;
 int    nfile;
-long   blkno;
+int    blkno;
 long   tln;
 int    nsucc;
 
 long   tln;
 int    nsucc;
 
@@ -506,10 +506,10 @@ char *file;
        ccount = 0;
        lnum = 1;
        tln = 0;
        ccount = 0;
        lnum = 1;
        tln = 0;
+       blkno = 0;
        p = buf;
        nlp = p;
        if ((ccount = read(f,p,512))<=0) goto done;
        p = buf;
        nlp = p;
        if ((ccount = read(f,p,512))<=0) goto done;
-       blkno = ccount;
        istat = cstat = gotofn[0]['\n'];
        if (out[cstat]) goto found;
        for (;;) {
        istat = cstat = gotofn[0]['\n'];
        if (out[cstat]) goto found;
        for (;;) {
@@ -529,7 +529,7 @@ char *file;
                                                }
                                                else {
                                                        if (nfile > 1 && hflag) printf("%s:", file);
                                                }
                                                else {
                                                        if (nfile > 1 && hflag) printf("%s:", file);
-                                                       if (bflag) printf("%ld:", (blkno-ccount-1)/512);
+                                                       if (bflag) printf("%d:", blkno);
                                                        if (nflag) printf("%ld:", lnum);
                                                        if (p <= nlp) {
                                                                while (nlp < &buf[1024]) putchar(*nlp++);
                                                        if (nflag) printf("%ld:", lnum);
                                                        if (p <= nlp) {
                                                                while (nlp < &buf[1024]) putchar(*nlp++);
@@ -554,9 +554,7 @@ char *file;
                                        else {
                                                if ((ccount = read(f, p, &buf[1024]-p)) <= 0) goto done;
                                        }
                                        else {
                                                if ((ccount = read(f, p, &buf[1024]-p)) <= 0) goto done;
                                        }
-                                       if(nlp>p && nlp<=p+ccount)
-                                               nlp = p+ccount;
-                                       blkno += ccount;
+                                       blkno++;
                                }
                        }
                }
                                }
                        }
                }
@@ -580,9 +578,7 @@ char *file;
                        else {
                                if ((ccount = read(f, p, &buf[1024] - p)) <= 0) break;
                        }
                        else {
                                if ((ccount = read(f, p, &buf[1024] - p)) <= 0) break;
                        }
-                       if(nlp>p && nlp<=p+ccount)
-                               nlp = p+ccount;
-                       blkno += ccount;
+                       blkno++;
                }
        }
 done:  close(f);
                }
        }
 done:  close(f);