=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/m4/gnum4.c,v retrieving revision 1.6 retrieving revision 1.6.2.1 diff -u -r1.6 -r1.6.2.1 --- src/usr.bin/m4/gnum4.c 2000/04/10 17:16:30 1.6 +++ src/usr.bin/m4/gnum4.c 2000/06/28 16:51:24 1.6.2.1 @@ -1,4 +1,4 @@ -/* $OpenBSD: gnum4.c,v 1.6 2000/04/10 17:16:30 espie Exp $ */ +/* $OpenBSD: gnum4.c,v 1.6.2.1 2000/06/28 16:51:24 jason Exp $ */ /* * Copyright (c) 1999 Marc Espie @@ -445,7 +445,8 @@ exit_regerror(error, &re); pmatch = xalloc(sizeof(regmatch_t) * (re.re_nsub+1)); - do_subst(argv[2], &re, argv[4] != NULL ? argv[4] : "", pmatch); + do_subst(argv[2], &re, + argc != 4 && argv[4] != NULL ? argv[4] : "", pmatch); pbstr(getstring()); free(pmatch); regfree(&re); @@ -461,7 +462,7 @@ regmatch_t *pmatch; if (argc <= 3) { - warnx("Too few arguments to patsubst"); + warnx("Too few arguments to regexp"); return; } error = regcomp(&re, mimic_gnu ? twiddle(argv[3]) : argv[3], @@ -470,7 +471,7 @@ exit_regerror(error, &re); pmatch = xalloc(sizeof(regmatch_t) * (re.re_nsub+1)); - if (argv[4] == NULL) + if (argv[4] == NULL || argc == 4) do_regexpindex(argv[2], &re, pmatch); else do_regexp(argv[2], &re, argv[4], pmatch);