summaryrefslogtreecommitdiff
path: root/usr.bin/grep
AgeCommit message (Collapse)Author
2007-09-02use calloc() to avoid malloc(n * m) overflows; checked by djm canacar jsgTheo de Raadt
2007-05-31convert to new .Dd format;Jason McIntyre
2007-05-30- use a consistent text for STANDARDSJason McIntyre
- note which options are extensions to POSIX
2007-02-13- Be explicit on command line checking, instead of relying on patterns,Matthias Kilian
which may be NULL (e.g. -e ''). - let add_pattern() decide how to deal with empty patterns, don't do magic in read_patterns(). This unbreaks stuff like grep -e '', and makes grep -f <file> more POSIX compliant. Semantics for grep -f /dev/null (or any other empty file) may be questionable, but this case isn't specified by POSIX, and matching nothing at all seems to be sane. Thanks to otto@, who mentioned potential problems related to the -x option with the first patch i sent. ok jaredy@ (some time ago), otto@, millert@
2006-12-26fts_read returning NULL and errno set is an error. ok ray@Otto Moerbeek
2006-11-17Reset the number of lines of tail context left to printJared Yanovich
before processing each file to avoid printing lines intended from the previous file. Reported and fix by Charles Longeau <chl@tuxfamily.org> via tech@. ok otto millert
2006-11-02Check length before checking index of len - 1.Ray Lai
OK moritz@.
2006-09-26Allow zero-length patterns with -x soJared Yanovich
$ grep -x "" matches empty lines as reported on misc@ by Martin Marusak <marusak@fhpv.unipo.sk>. Initial diff by otto@ with tweaks by me. ok otto
2006-09-20That should be S_ISREG, dunno why I committed this wrong version;Otto Moerbeek
spotted by hshoexer@
2006-09-19Use S_IS* macros insted of masking with S_IF* flags. The latter mayOtto Moerbeek
have multiple bits set, which lead to surprising results. Spotted by Paul Stoeber, more to come. ok millert@ pedro@ jaredy@ djm@
2006-03-07Break patterns containing newlines into multiple patterns like POSIX says.Otto Moerbeek
Report by Ralf dot Wildenhues at gmx dot de; testing by jmc@ ok beck@ millert@
2006-03-07-nv is a valid combination; confirmed by ottoJason McIntyre
2006-02-09delint; remove redundant vars and functions; ok jaredy@Otto Moerbeek
2006-02-07restore cosmic balance by plugging a mem leak; problem reported byOtto Moerbeek
Benjamin Pineau in PR 5008; ok weingart@
2005-06-05s/-p1003.1-2003/-p1003.1-2004/gJason McIntyre
2005-04-25- use size_t where appropriate.Otto Moerbeek
- check for <= 0 in gzread; it returns -1 on error. From christos@netbsd; ok millert@
2005-04-03Make the processing of patterns collected from files specified by -fJared Yanovich
delayed so options that affect pattern-building (such as -w) can be applied evenly to all such patterns. ok and help otto, ok millert
2005-04-03Protect begin and end of word markers added to the pattern whenOtto Moerbeek
using the -w option with parentheses, to avoid operators in the expressions binding to the markers. Compare [[:<:]]foo|bar[[:>:]] and [[:<:]](foo|bar)[[:>:]]. Problem spotted by aaron@; ok millert@ aaron@ jaredy@
2005-02-07Due to a braindead zlib, the test for seekability of a gzstream usingOtto Moerbeek
gzseek(f, 0L, SEEK_CUR) does not work as expected. Instead test the underlying stream and remember that. This repairs echo foo | gzip | zgrep foo. Problem spotted by Han Boetes in PR 4089; ok millert@
2005-02-02replace 0 with STDIN_FILENO. from han boetes and jared yanovichTed Unangst
2005-01-06clarify what -a does;Jason McIntyre
prod and ok deraadt@
2004-10-04remove the section on extended regular expressions, and pointJason McIntyre
people instead to re_format.7: there is now a list of EREs there;
2004-10-03Remove block based mmap optimization. There are newline problemsOtto Moerbeek
(PR 3940, 3941) which can be fixed, but if a match starts at the end of a block and continues into the next block, no match will be found. Measurements by millert@ showed that the improvements of this optimization are non-measurable anyway. Diff from Alexander Taler. ok millert@
2004-09-28when stdin is searched, -L and -l print `(standard input)', not `-';Jason McIntyre
from alexander taler (pr #3937);
2004-09-28various fixes to make this page a bit clearer and hopefully a bitJason McIntyre
more helpful; this includes some ideas/fixes from otto and jared;
2004-09-16unused variables; otto okTheo de Raadt
2004-09-15cast offset value correctly for gzseekTheo de Raadt
2004-08-11Stop search when -q option is given and a match is found. Found by jmc@Otto Moerbeek
ok millert@
2004-08-05spacingTheo de Raadt
2004-05-07Make grep -w behave the same for the fastcomp and the regex case,Otto Moerbeek
by teaching fastcomp what word boundaries are according to regex. ok millert@
2004-05-07Add a new past path for fgrep that is just a simplified version ofTodd C. Miller
fastcomp. This makes fgrep faster and fixes the -w flag w/ fgrep. Also remove free_patterns() since calling free right before exit is silly. Problem noticed by espie@
2004-05-06Don't fseek() on stdin if it is a terminal. It does not fail, butOtto Moerbeek
what's more more important, it does not work either. ok millert@ tedu@
2004-05-06Treat ^H as non-binary. OK hshoexer@, brad@ and deraadt@Todd C. Miller
2004-04-17-w uses [[:<:]] and [[:>:]], not \< and \>,Jason McIntyre
and it's documented in re_format(7), not ex(1); from jared yanovich; ok beck@
2004-04-03remove unnecessary .Sm macros (oops, this is my fault it everJason McIntyre
made it into the tree);
2004-04-02Document --line-bufferedOtto Moerbeek
ok jmc@
2004-04-02Implement --line-bufferedOtto Moerbeek
ok millert@ tedu@
2004-03-15simpler special character list. provoked by Patrick Latifi ok jmc@Ted Unangst
2004-02-04Fix anchors (^ or $) in -w mode broken by the last commit's -w overhaul.Todd C. Miller
With this change we pass the updated regress. Tested and OK by ho@
2004-01-26dataLen should be size_t to match l->len; ok otto@ tedu@Todd C. Miller
2004-01-25Previously, in -w mode, for each match on a line grep would checkTodd C. Miller
to see if the match was on a word boundary. However, this missed lines where the first match was not on a word boundary but a subsequent match was. Problem originally spotted by miod@ We fix this by using the [[:<:]] and [[:>:]] character classes for the slow path and by checking the word boundaries in grep_search() for the fast path instead of doing the checks after running regexec() or grep_search(). With this change, grep passes the new regress tests 15 and 16. problem originally spotted by espie@.
2004-01-19-b reports offsets in bytes.Otto Moerbeek
ok millert@
2004-01-19Use off_t for file sizes, and don't forget to print a ':' when usingOtto Moerbeek
the -b option. ok millert@
2004-01-18Unbreak *grep -w -l. ok millert@Otto Moerbeek
2004-01-18make sure ln.len gets initialized. Okay millert@Marc Espie
2003-12-29fix zgrep failure when the uncompressed file begins with a newlineCan Erkin Acar
also, search from the beginning if a stream or compressed file is identified as 'binary'. ok millert@, reported by tedu@, tested by jose@
2003-12-11Sync usage() with SYNOPSIS in grep(1).Ryan Thomas McBride
ok deraadt@ jmc@
2003-12-11Document use of [pattern] without -e, give example of -v with multipleRyan Thomas McBride
patterns. ok deraadt@ jmc@
2003-12-06Unbreak grepping for some patterns containing multiple dots. Fixes PR 3597.Otto Moerbeek
ok deraadt@ millert@
2003-10-28prototype declared static, but function was not. add static to function.Anil Madhavapeddy
millert@ otto@ ok