aboutsummaryrefslogtreecommitdiff
path: root/usr.bin/m4
diff options
context:
space:
mode:
authorGregory Neil Shapiro <gshapiro@FreeBSD.org>2001-05-18 18:35:34 +0000
committerGregory Neil Shapiro <gshapiro@FreeBSD.org>2001-05-18 18:35:34 +0000
commit4ba4d3873ad568b926b2ac65867c53983feea39d (patch)
treeb42b80db99dcaeed5490022bdd65e0244fbce2f5 /usr.bin/m4
parentd3ebe37cd0482cc26f8a8a7b31efd90cdef05128 (diff)
Notes
Diffstat (limited to 'usr.bin/m4')
-rw-r--r--usr.bin/m4/eval.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/usr.bin/m4/eval.c b/usr.bin/m4/eval.c
index e424815467e6..d2ac3c892195 100644
--- a/usr.bin/m4/eval.c
+++ b/usr.bin/m4/eval.c
@@ -717,22 +717,22 @@ register int argc;
register unsigned char *ap, *fc, *k;
register int nc;
+ ap = argv[2]; /* target string */
+#ifdef EXPR
+ fc = ap + expr(argv[3]); /* first char */
+#else
+ fc = ap + atoi(argv[3]); /* first char */
+#endif
if (argc < 5)
- nc = MAXTOK;
+ nc = strlen(fc);
else
#ifdef EXPR
nc = expr(argv[4]);
#else
nc = atoi(argv[4]);
#endif
- ap = argv[2]; /* target string */
-#ifdef EXPR
- fc = ap + expr(argv[3]); /* first char */
-#else
- fc = ap + atoi(argv[3]); /* first char */
-#endif
if (fc >= ap && fc < ap + strlen(ap))
- for (k = fc + min(nc, strlen(fc)) - 1; k >= fc; k--)
+ for (k = fc + nc - 1; k >= fc; k--)
putback(*k);
}