Age | Commit message (Collapse) | Author |
|
ok pyr@, ray@, millert@, moritz@, chl@
|
|
- Move function prototypes before variables.
No binary change.
OK otto and millert.
|
|
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@
|
|
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@
|
|
okay millert@
|
|
"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@
|
|
avoid having to check for encoding errors returned by snprintf().
From Ray Lai; ok millert@ jaredy@
|
|
lines and ignore them all. With and ok jaredy@
|
|
|
|
like GNU diff does. Adapted from a diff by YAMAMOTO Takashi
|
|
portability. Spotted by YAMAMOTO Takashi.
ok millert@
|
|
|
|
then doing sizeof(cand). silly kids
|
|
Jared Yanovich, with twists from millert@ and me. Testing by brad@,
sturm@ and pval@. ok millert@
|
|
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@
|
|
"works here" millert@ ok miod@ deraadt@
|
|
|
|
fails. Fixes "diff -i" exit value. Problem found by Claudio Jeker.
|
|
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
|
|
millert@ otto@ ok
|
|
|
|
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
|
|
memory allocation. Initial version by me, cleanup by millert@.
ok millert@
|
|
hash function was apparently optimized for 16 bit processors and
generates quite some collisions.
- Fix another case of excessive reallocing.
ok millert@
|
|
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.
|
|
|
|
when diffreg() is called multiple times (i.e. in directory mode).
Fixes a hang I saw doing "diff -r" of two large directory trees.
|
|
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@
|
|
|
|
|
|
printed a header that turned the output into an actual script that
called ed(1) to make the changes. This conflicts with POSIX so the
header has been removed and the standard diff header is used instead.
|
|
that will confuse ed(1).
POSIX says "one way to fix this bug is to output two periods whenever a lone
period is needed, then terminate the append command with a period, and then
use the substitute command to convert the two periods into one period."
This is exactly what I have done.
|
|
|
|
one is a file and the other is a directory in -r mode (cosmetic).
|
|
|
|
unpGet rid of ugly hack in readhash() that appears to be there for
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.
|
|
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@
|
|
|
|
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
|
|
mode (like GNU diff).
|
|
|
|
o Fix a double free in the temmp file case
|
|
|
|
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@
|
|
|
|
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
|
|
|
|
|
|
need the associated scaffolding. tedu@ OK
|
|
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@
|