version 1.39, 2008/08/21 21:01:04 |
version 1.40, 2010/03/22 20:40:43 |
|
|
if (argv[3][0] == '\0') { |
if (argv[3][0] == '\0') { |
const char *s; |
const char *s; |
size_t len; |
size_t len; |
if (argv[4] && argc > 4) |
if (argc > 4 && argv[4]) |
len = strlen(argv[4]); |
len = strlen(argv[4]); |
else |
else |
len = 0; |
len = 0; |
|
|
warnx("Too few arguments to regexp"); |
warnx("Too few arguments to regexp"); |
return; |
return; |
} |
} |
|
/* special gnu case */ |
|
if (argv[3][0] == '\0' && mimic_gnu) { |
|
if (argc == 4 || argv[4] == NULL) |
|
return; |
|
else |
|
pbstr(argv[4]); |
|
} |
error = regcomp(&re, mimic_gnu ? twiddle(argv[3]) : argv[3], |
error = regcomp(&re, mimic_gnu ? twiddle(argv[3]) : argv[3], |
REG_EXTENDED); |
REG_EXTENDED); |
if (error != 0) |
if (error != 0) |
exit_regerror(error, &re); |
exit_regerror(error, &re); |
|
|
pmatch = xalloc(sizeof(regmatch_t) * (re.re_nsub+1), NULL); |
pmatch = xalloc(sizeof(regmatch_t) * (re.re_nsub+1), NULL); |
if (argv[4] == NULL || argc == 4) |
if (argc == 4 || argv[4] == NULL) |
do_regexpindex(argv[2], &re, pmatch); |
do_regexpindex(argv[2], &re, pmatch); |
else |
else |
do_regexp(argv[2], &re, argv[4], pmatch); |
do_regexp(argv[2], &re, argv[4], pmatch); |