summaryrefslogtreecommitdiffstats
path: root/usr.bin/diff (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* cc -O2 -pipe -DSTDC_HEADERS=1 -DHAVE_UNISTD_H=1 -DDIRENT=1 -DDYN_ALLOC -c unpGet rid of ugly hack in readhash() that appears to be there formillert2003-07-171-26/+7
| | | | | | machines with a 16 bit word size. Also replace (HALFLONG - 1) with a new define, HASHMASK since it really is a mask. None of this results in any actual change in behavior.
* Deal with files that lack a final newline before EOF (you naughtymillert2003-07-161-24/+42
| | | | | | | | | | | | | | | | | emacs users!). In most cases this just means checking for EOF in addition to '\n'. However, we need to tread carefully in readhash(). There we return 0 on EOF iff it is the first char in a "line". Additionally, if the -b or -w flags were specified and the last character in one file was '\n' but the other file is missing '\n', pretend that we didn't see the newline in the one file. This is consistent with GNU diff. For the non-{b,w} case, print "\ No newline at end of file" when we see EOF before a newline in one file where the other file has one. Again, this is for consistency with GNU diff and patch(1) in -current knows how to interpret this message. OK tedu@ and otto@
* Fix line ranges for unidiffs. Problem noted by otto@millert2003-07-151-12/+27
|
* Unlink temp file as soon as it is opened and return a FILE * formillert2003-07-093-123/+67
| | | | | | | | | | | it so we don't have to worry about cleanup. This means the quit() signal handler and error/errorx can go away too. Move splice() out of diffreg() and into diff.c where it belongs since we don't want to be calling splice() for a directory diff. Add a check for mismatched paths (one file, one dir) in diffreg.c. deraadt@ OK
* Re-implement -l flag; diff -l now works correctly in non-directorymillert2003-07-096-49/+219
| | | | mode (like GNU diff).
* fix pasto in last commitmillert2003-07-081-3/+3
|
* o Avoid a temp file if using stdin and stdin is redirected from a regular filemillert2003-07-082-15/+19
| | | | o Fix a double free in the temmp file case
* Add -q option from GNU diffmillert2003-07-065-21/+33
|
* Implement -P from GNU diff (like -N but only for files that are missingmillert2003-07-064-22/+32
| | | | from dir1).
* Some fairly major changes:millert2003-07-066-723/+798
| | | | | | | | | | | | | | | | | | | | | o -N is implemented o -X is implemented o -x is implemented o diff.c has been rewritten and GNU long options are now supported o diffdir.c has been rewritten + no longer does fork + exec of /usr/bin/diff + can be called recursively (and will be for -r) o diff.h + don't include any .h files here any more, do it in the .c files + no Bell Labs code in this, gets a UCB copyright (the 32v sources only have a diff.c and there is nothing in common). o diffreg.c + most all remaining globals are now private to diffreg.c + files are only opened once + dynamically allocated objects are either freed or realloced + added missing UCB copyright (there were lots of UCB changes) + print correct thing when -s is specified OK deraadt@
* Use symbolic constants for output format.millert2003-07-061-3/+5
|
* Accept but ignore -h for backwards compat like GNU diff does.millert2003-07-041-4/+7
| | | | Pointed out by espie@. Also remove other references to -h mode.
* Kill non-standard -l option as discussed with tedu@millert2003-07-045-134/+30
|
* Kill diff -h, we don't use or want diffh. Discussed w/ tedu@millert2003-07-045-32/+8
|
* Some cosmetic fixes:millert2003-07-044-23/+16
| | | | | | | | o get rid of now-unused tempfile variable o move inifdef into diffreg.c (only used there) o correct a comment o use _PATH_DIFF, _PATH_DIFFH and _PATH_PR instead of variables set to them o get rid of hack to look for pr and diff in /bin
* diffh belongs in /usr/libexec/millert2003-07-021-1/+1
|
* Treat /dev/null specially; there is no need to make a temp file for it.millert2003-07-021-4/+6
|
* tweak;jmc2003-06-281-2/+2
| | | | ok tedu@
* -a to force ascii compare. ok millerttedu2003-06-273-8/+16
|
* kill a warning: include <string.h>david2003-06-271-1/+2
| | | | ok tedu@
* Remove cruft; We don't have the -I, -1 or -2 options anymore so we don'tmillert2003-06-263-39/+18
| | | | need the associated scaffolding. tedu@ OK
* Fix -r flag that was broken during getopt() conversion--whoops.millert2003-06-261-2/+2
|
* Fix temp file handling.millert2003-06-264-100/+86
| | | | | | | | | o honor TMPDIR environment variable as per man page o need 2 temp files if both file1 and file2 are devices o add error() and errorx() which cleanup temp file and then call err() and errx() respectively. OK tedu@
* pretty code that prints usagederaadt2003-06-261-3/+5
|
* Update with unidiff info and make FILES section fit reality.millert2003-06-261-24/+61
| | | | With input from jmc@
* Fix temp file handling and deal with the case where we might need 2 temp files.millert2003-06-264-37/+60
|
* off by one in size calculationvincent2003-06-261-2/+2
| | | | ok tedu
* put all the flags and globals in diff.c, and declare externs in diff.htedu2003-06-262-59/+49
| | | | ok millert@
* Add a space after flags that take an argumnent in usage() since getopt()millert2003-06-251-5/+5
| | | | supports that.
* remove term 3deraadt2003-06-251-5/+1
|
* fix unified diff output. ok millert@tedu2003-06-251-9/+9
|
* De-uglify usagemillert2003-06-251-5/+5
|
* Add unidiff support and try to pretty up usage() a bitmillert2003-06-253-23/+106
|
* o use S_ISDIR instead of doing it by handmillert2003-06-254-49/+62
| | | | | | | | o rename talloc -> emalloc and ralloc -> erealloc o struct direct -> struct dirent (POSIX) o kill remaining strcpy() o fix unterminated string in setfile() deraadt@ OK
* Fix getopt string for -Dmillert2003-06-251-2/+2
|
* cleanup;jmc2003-06-251-74/+89
| | | | ok deraadt@
* o use getopt()millert2003-06-254-157/+114
| | | | | | | o use err/warn o only call done() when needed (after mkstemp) o add "-C lines" like GNU grep OK deraadt@
* Update from 4.4 to get new-style copyright notice and trim the advert clausemillert2003-06-251-16/+31
|
* this can be 3 term; gwyllion@ace.ulyssis.orgderaadt2003-06-251-6/+2
|
* remove silly signal catcher, and just use done. ok deraadt@tedu2003-06-253-17/+8
|
* oopsderaadt2003-06-251-3/+3
|
* use SEEK_SET with fseek()deraadt2003-06-251-4/+4
|
* more knfderaadt2003-06-252-9/+12
|
* index -> strrchrderaadt2003-06-251-2/+2
|
* knfderaadt2003-06-252-57/+45
|
* remove unused variabletedu2003-06-251-4/+4
|
* -Wstrict-prototypestedu2003-06-252-7/+11
|
* avoid signed issues; tedu okderaadt2003-06-251-4/+4
|
* exit path signal race safederaadt2003-06-254-38/+40
|
* fix lseekderaadt2003-06-251-2/+2
|