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