summaryrefslogtreecommitdiffstats
path: root/usr.bin/diff (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Bring in some changes from rcsdiff:ray2007-05-296-120/+194
| | | | | | | | | 1. Replace all the e*alloc functions with the x*alloc versions. 2. Whitespace syncs according to style. 3. Remove the __inline stuff. 4. Remove the min/max functions, using the MAX/MIN macros instead. OK millert@
* improve -p for C++ code: classes definition often haveespie2007-03-181-6/+23
| | | | | | | | | | | public:/protected:/private: at the start of line. This lets the -p scanner just take note of the section and keep looking for the actual class definition. Also increase function name bufsize so it shows most of these pesky C++ decls... okay otto@
* sort options/synopsis/usage();jmc2007-03-012-54/+51
| | | | from Igor Sobrado
* print the header only once.espie2007-02-231-8/+10
| | | | okay millert@
* Defer printing of the per-file diff header until after the regexpmillert2007-02-221-12/+14
| | | | | | "ignore" processing has finished. This way we only print the header for files that have diffs. The new behavior matches GNU diff (which is where the -I flag comes from). OK otto@ espie@
* - no need to escape thesejmc2006-05-051-4/+4
|
* Append two string using strlcpy()/strlcat() instead of snprintf() tootto2006-02-221-4/+6
| | | | | avoid having to check for encoding errors returned by snprintf(). From Ray Lai; ok millert@ jaredy@
* Strip newline from lines used with -I, otherwise ^$ will match allotto2006-02-161-2/+4
| | | | lines and ignore them all. With and ok jaredy@
* +.Xr sdiff 1 ,jmc2005-12-271-1/+2
|
* bye bye whiteoutsmillert2005-06-151-5/+4
|
* Handle all isspace() chars the same for -w and -b. ok millert@ markus@otto2005-01-131-2/+5
|
* clarify what -a does;jmc2005-01-061-2/+11
| | | | prod and ok deraadt@
* If the -L option is specified twice, use it for the second filenamemillert2004-12-094-20/+35
| | | | like GNU diff does. Adapted from a diff by YAMAMOTO Takashi
* advancing argv twice doesn't make it better.espie2004-12-071-3/+3
| | | | okay otto@.
* Use unsigned char for bytes that are fed to isxxx() functions, to improveotto2004-11-271-4/+4
| | | | | portability. Spotted by YAMAMOTO Takashi. ok millert@
* Fix the getdirentries() loop memory handling and EOF detection.otto2004-11-261-15/+22
| | | | | | | Also fix typo in sizeof. Problem spotted by YAMAMOTO Takashi; this diff joint work with millert@ ok millert@
* Change tabs in string constants to \t. "of course" deraadt@otto2004-10-201-4/+4
|
* Keep calling getdirentries() until we no longer fill up our buffer.millert2004-10-021-14/+22
|
* use sizeof(struct cand) instead of defining an unused cand object, andderaadt2004-09-141-5/+5
| | | | then doing sizeof(cand). silly kids
* Implement -I option: ignore changes matching a set of regexes. Fromotto2004-06-204-28/+144
| | | | | Jared Yanovich, with twists from millert@ and me. Testing by brad@, sturm@ and pval@. ok millert@
* If a new hunk immediately follows the previous one, merge themotto2004-06-181-4/+4
| | | | | | | into a single hunk. This makes diff produce the same diff as gdiff in more cases. Found by brad@ and sturm@ using the ports tree. ok millert@
* POSIX specifies that in directory mode device special files andmillert2004-03-164-7/+25
| | | | | | FIFOs shall be skipped. Other types of files may be skipped too (this is implementation-dependent). In directory mode, just skip anything that is not a regular file or directory. OK tedu@
* use new .St macro;jmc2004-01-251-2/+2
|
* Document -p option. ok jmc@otto2004-01-071-5/+11
|
* Implement -p option.otto2004-01-073-17/+76
| | | | "works here" millert@ ok miod@ deraadt@
* Fix diff -q exit value which was broken in last commit.millert2003-11-221-4/+5
|
* Fix broken assumption that a file must contain differences if files_differ()millert2003-11-211-7/+7
| | | | fails. Fixes "diff -i" exit value. Problem found by Claudio Jeker.
* Din't print the "No newline at end of file" to inline (ie: to stdout)millert2003-11-101-4/+8
| | | | | | for edit scripts. Instead, print it to stderr. This matches the GNU diff behavior and fixes a problem with RCS and files with no trailing newline. tedu@ OK
* Typos in comments from Jared Yanovich <jjy2+ at pitt dot edu>otto2003-11-092-5/+5
|
* prototype declared static, but function was not. add static to function.avsm2003-10-281-3/+3
| | | | millert@ otto@ ok
* Fix printing of "Only in foo" when foo is "/" (trailing slash removalmillert2003-10-073-12/+17
| | | | was overzealous in this case). Fix tested by Hugo Villeneuve and myself.
* - move `-d' to comparison options, rather then output optionsjmc2003-09-181-6/+6
| | | | | | - note (again) that output options are mutually exclusive from Andy Isaacson (PR 3479)
* Make -number be an error (similar to my change in grep.c); OK tedu@millert2003-09-071-9/+15
|
* - add -P to SYNOPSISjmc2003-09-072-13/+13
| | | | | | | | | - remove "mutually exclusive" clause - -c produces 15 *'s, not a dozen - add -a to uage() - sync usage() with SYNOPSIS ok tedu@
* try again at -u#. ok deraadt@tedu2003-09-071-4/+15
|
* correct ascii file test. ok deraadt@ pb@tedu2003-09-071-5/+4
|
* restore undocumented -u# support for the old schoolers. :)tedu2003-09-061-3/+3
| | | | noticed by itojun@, ok deraadt@
* fix spelling of --initial-tabdavid2003-08-181-3/+3
| | | | ok otto@
* Based on what otto@ said on icb. The expensive thing in diff ismillert2003-08-131-6/+6
| | | | | | | | newcand() (this is what blows up the memory usage so badly). Instead of counting how many times we go through the loop, count how many times we called newcand(). I renamed loopcount -> numtries since it is no longer the number of loop runs. This fixes espie@'s regression. tedu@ OK
* Guess the number of lines in a file and use that number for initialotto2003-08-081-8/+12
| | | | | | memory allocation. Initial version by me, cleanup by millert@. ok millert@
* anychange is no longer extern; millert okderaadt2003-08-011-2/+2
|
* - Change the hash function to a simple multiplicative one. The oldotto2003-07-311-25/+29
| | | | | | | | hash function was apparently optimized for 16 bit processors and generates quite some collisions. - Fix another case of excessive reallocing. ok millert@
* o correct exit code when comparing stdin and stdin (a noop)millert2003-07-311-4/+4
| | | | | | o after copying to a temp file, lseek() to the beginning so the inline cmp routine works. Fixes an exit code issue when comparing against stdin.
* cleanderaadt2003-07-292-7/+7
|
* We need to initialize clen to 0 each time through diffreg() formillert2003-07-271-2/+3
| | | | | when diffreg() is called multiple times (i.e. in directory mode). Fixes a hang I saw doing "diff -r" of two large directory trees.
* Correct computation of argsize when setting diffargs.millert2003-07-271-4/+4
|
* Start new sentence on a new line.otto2003-07-271-4/+4
| | | | ok jmc@
* - Use a heuristic to bound memory and cpu usage, at the cost ofotto2003-07-274-26/+68
| | | | | | | | | producing suboptimal diffs for large file containing lots of changes. Switch heuristic off with -d/--minimal (GNU compatible). Some hints from millert@. - Improve performance by reducing the number of realloc(3) calls. ok millert@ tedu@
* better ascii test for fewer false negatives. ok millert@tedu2003-07-231-5/+5
|
* Add missing terminator to long options list.millert2003-07-221-2/+3
|