Commit Graph

28 Commits

Author SHA1 Message Date
Gabor Kovesdan
69a6d1985d - Use REG_NOSUB to bypass submatch counting when not necessary. This may
yield in somewhat better performance in a few cases.

Approved by:	delphij (mentor)
2011-06-12 12:51:58 +00:00
Gabor Kovesdan
cbe6b9e50f - Fix -w behavior
- Make -F and -w work together
- Fix --color to colorize all of the matches

PR:		bin/156826
Submitted by:	Yuri Pankov <yuri.pankov@gmail.com>
Approved by:	delphij (mentor)
2011-06-12 12:44:02 +00:00
Ed Schouten
48a16a34d8 Remove redundant assignments to WARNS.
For these directories, WARNS is already implied to be 6.
2011-06-06 20:24:17 +00:00
David E. O'Brien
a23d1c70b3 Build and install a BSD licensed grep.
If WITH_BSD_GREP is not set, it will be 'bsdgrep' and GNUgrep will be
'[ef]grep'.  Otherwise, BSD-grep will be the grep family, and GNUgrep
will be 'gnugrep'.

Discussed with: brooks
2011-05-25 01:04:12 +00:00
Gabor Kovesdan
b66a823be8 - Adjust a comment to actual behaviour
- Makefile nit
- Add more CVS/SVN keywords to make it easier to track changes from NetBSD
  in case they add further improvements

Approved by:	delphij (mentor)
Obtained from:	The NetBSD Project
2011-04-07 13:03:35 +00:00
Gabor Kovesdan
d841ecb30d - Simplify the fixed string pattern preprocessing code
- Improve readability

Approved by:	delphij (mentor)
Obtained from:	The NetBSD Project
2011-04-07 13:01:03 +00:00
Gabor Kovesdan
acac8baf59 - Replace some strcpy()-family functions with memcpy() ones. It has been
discussed earlier that the extra safeness is not required in these
  cases and we can avoid the overhead by using the more general
  memory copy functions.

Approved by:	delphij (mentor)
Obtained from:	The NetBSD Project
2011-04-07 12:52:46 +00:00
Xin LI
f7482a2568 Add Simplified Chinese messages for BSD grep. 2010-09-20 19:42:52 +00:00
Xin LI
c38208ad5e Revert a minor part of revision 211364:
- Imply -h if single file is grepped, this is the GNU behaviour

This is already done by code above the change and have caused a regression
since this instance of code does not check Hflag.

Reported by:	davidxu
Pointy hat to:	delphij
2010-08-19 22:55:17 +00:00
Dag-Erling Smørgrav
a0ef9ad699 UTFize my name. 2010-08-19 09:28:59 +00:00
Gabor Kovesdan
3ed1008b89 - Refactor file reading code to use pure syscalls and an internal buffer
instead of stdio.  This gives BSD grep a very big performance boost,
  its speed is now almost comparable to GNU grep.

Submitted by:	Dimitry Andric <dimitry@andric.com>
Approved by:	delphij (mentor)
2010-08-18 17:40:10 +00:00
Gabor Kovesdan
59218eb770 - Revert strlcpy() changes to memcpy() because it's more efficient and
former may be safer but in this case it doesn't add extra
  safety [1]
- Fix -w option [2]
- Fix handling of GREP_OPTIONS [3]
- Fix --line-buffered
- Make stdin input imply --line-buffered so that tail -f can be piped
  to grep [4]
- Imply -h if single file is grepped, this is the GNU behaviour
- Reduce locking overhead to gain some more performance [5]
- Inline some functions to help the compiler better optimize the code
- Use shortcut for empty files [6]

PR:		bin/149425 [6]
Prodded by:	jilles [1]
Reported by:	Alex Kozlov <spam@rm-rf.kiev.ua> [2] [3],
		swell.k@gmail.com [2],
		poyopoyo@puripuri.plala.or.jp [4]
Submitted by:	scf [5],
		Shuichi KITAGUCHI <ki@hh.iij4u.or.jp> [6]
Approved by:	delphij (mentor)
2010-08-15 22:15:04 +00:00
Gabor Kovesdan
7b376a6917 - Some fixes to Ukranian catalog
Submitted by:	avg, Alex Kozlov <spam@rm-rf.kiev.ua>
2010-08-06 10:34:48 +00:00
Joel Dahl
a4f5b3dfeb Fix spelling. 2010-07-30 14:05:20 +00:00
Gabor Kovesdan
2759539b90 - Add Ukranian catalog
Submitted by:	Alex Kozlov <spam@rm-rf.kiev.ua>
2010-07-30 11:07:24 +00:00
Gabor Kovesdan
97a012f24a - Some minor changes to the messages to increase usefulness of error msgs
Reviewed by:	hrs (Japanese catalogs),
		pluknet <pluknet at gmail dot com> (Russian catalog)
Approved by:	delphij (mentor)
2010-07-29 18:02:57 +00:00
Gabor Kovesdan
cb534a9a52 - Add Japanese NLS catalogs
Submitted by:	hrs
Approved by:	delphij (mentor)
2010-07-29 01:15:26 +00:00
Gabor Kovesdan
55e44f511d - Use the traditional behaviour for filename and directory name inclusion
and exclusion patterns [1]
- Some improvements on the exiting code, like replacing memcpy with
  strlcpy/strcpy

Approved by:	delphij (mentor)
Pointed out by:	bf [1], des [1]
2010-07-29 00:11:14 +00:00
Gabor Kovesdan
36bcf7c1fb - Fix -l and -L by really surpressing output and just showing filenames
Submitted by:	swell.k@gmail.com
Approved by:	delphij (mentor)
2010-07-25 18:57:48 +00:00
Gabor Kovesdan
2711628675 - Fix --color behaviour to only output color sequences if stdout is a tty
or if forced mode is specified [1]
- While here, add some alternative names for the options and make then
  case-insensitive
- Fix -q and -l behaviour [2]
- Some small changes to make the code easier to review

Submitted by:   swell.k@gmail.com [1],
                dougb [2]
Approved by:    delphij (mentor)
2010-07-25 08:42:18 +00:00
Xin LI
0c41ffb3d4 Fix crashes when using grep -R:
- Explicitly pre-zero memory for fts_open parameters.
 - Don't test against directory patterns when we are testing direct
   leaf of current directory.

While I'm there plug a few of memory leaks.
2010-07-23 19:36:11 +00:00
Gabor Kovesdan
e9a6792326 - Add Russian catalog [1]
- Fix two minor nits in manpage [2]
- style.Makefile(5)

Submitted by:   pluknet <pluknet at gmail.com> [1],
                Alex Kozlov <spam@rm-rf.kiev.ua> [2]
Reviewed by:    delphij
2010-07-23 17:42:42 +00:00
Gabor Kovesdan
4dc88ebedf Add BSD grep to the base system and make it our default grep.
Deliverables: Small and clean code (1,4 KSLOC vs GNU's 8,5 KSLOC),
              lower memory usage than GNU grep, GNU compatibility,
              BSD license.

TODO:         Performance is somewhat behind GNU grep but it is only
              significant for bigger searches.  The reason is complex, the
              most important factor is that GNU grep uses lots of
              optimizations to improve the speed of the regex library.
              First, we need a modern regex library (practically by adopting
              TRE), add support for GNU-style non-standard regexes and then
              reevalute the performance issues and look for bottlenecks.  In
              the meantime, for those, who need better performance, it is
              possible to build GNU grep by setting WITH_GNU_GREP.

Approved by:            delphij (mentor)
Obtained from:          OpenBSD (http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/grep/),
                        freegrep (http://github.com/howardjp/freegrep)
Sponsored by:           Google SoC 2008
Portbuild tests run by: kris, pav, erwin
Acknowledgements to:    fjoe (as SoC 2008 mentor),
                        everyone who helped in reviewing and testing
2010-07-22 19:11:57 +00:00
Peter Wemm
6065a0be11 This commit was generated by cvs2svn to compensate for changes in r13122,
which included commits to RCS files with non-trunk default branches.
1995-12-30 19:02:48 +00:00
Peter Wemm
a5b996a7ec recording cvs-1.6 file death 1995-12-30 19:02:48 +00:00
Bruce Evans
2577a8acef Add dependencies on libraries to DPADD. Someday this should be done
automagically.  -lfoo has to be right to work, but ${LIBFO0} is too
easy to forget or misspell; nothing checks it and it should be
different for shared libraries.
1994-08-28 18:49:06 +00:00
Garrett Wollman
b35bdc400c More merry makefile munging for man page compatability. 1994-08-05 19:00:04 +00:00
Rodney W. Grimes
9b50d90275 BSD 4.4 Lite Usr.bin Sources 1994-05-27 12:33:43 +00:00