The NetBSD Project

CVS log for src/usr.bin/patch/util.c

[BACK] Up to [cvs.NetBSD.org] / src / usr.bin / patch

Request diff between arbitrary revisions


Default branch: MAIN
Current tag: MAIN


Revision 1.30 / (download) - annotate - [select for diffs], Tue May 25 11:25:59 2021 UTC (5 months ago) by cjep
Branch: MAIN
CVS Tags: cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, HEAD
Changes since 1.29: +5 -5 lines
Diff to previous 1.29 (colored)

As per OpenBSD, use malloc for the line buffer. Fixes the known issue
with long lines and makes our ATF test suite pass fully.
Closes PR bin/54620 from coypu who suggested the approach.
Reviewed by christos.

Revision 1.29 / (download) - annotate - [select for diffs], Tue Nov 17 20:49:12 2020 UTC (11 months, 1 week ago) by rhialto
Branch: MAIN
CVS Tags: cjep_staticlib_x-base
Branch point for: cjep_staticlib_x
Changes since 1.28: +3 -3 lines
Diff to previous 1.28 (colored)

Remove heuristic for dealing with trailing newlines being truncated by mailers.

Patch and explanation taken from bsdimp:
https://bsdimp.blogspot.com/2020/08/a-35-year-old-bug-in-patch-found-in.html
https://svnweb.freebsd.org/base?view=revision&revision=364291

Every version of patch since the first one posted to mod.sources in 1985 have
included a heuristic for coping with the state of email messaging at the
time. This heuristic would add up to 4 blank lines to a patch if it thought it
needed it. The trouble is, though this causes at least one bug.

The bug in my case is that if you have a context diff whose last hunk only
deletes 3 or fewer lines, then if you try to reverse apply it with -R, it will
fail. The reason for this is the heuristic builds an internal representation
that includes those blank lines. However, it should really replicate the lines
from the pattern lines line it would any other time, not assume they are blank
lines. Removing this heuristic will prevent patch from misapplying the lines
removed after applying a 'fuzz' factor to the previous blank line in the file. I
believe this will only affect 'new-style' 4.3BSD context diffs and not the
older-style 4.2BSD diffs and plain, non-context diffs. It won't affect any of
the newer formats, since they don't use the 'omitted' construct in the same way.

Since this heuristic was put into patch at a time when email / etc ate trailing
white space on a regular basis, and since it's clear that this heuristic is the
wrong thing to do at least some of the time, it's better to remove it
entirely. It's not been needed for maybe 20 years since patch files are not
usually corrupted. If there are a small number of patch files that would benefit
from this corruption fixing, those already-currupt patches can be fixed by the
addition of blank lines. I'd wager that no one will ever come to me with an
example of a once-working patch file that breaks with this change. However, I
have 2 patches from the first 195 patches to 2.11BSD that are affected by this
bug, suggesting that the relative frequency of the issue has changed
signficantly since the original heuristic was put into place.

Revision 1.28 / (download) - annotate - [select for diffs], Mon Jun 18 18:33:31 2018 UTC (3 years, 4 months ago) by christos
Branch: MAIN
CVS Tags: phil-wifi-base, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, phil-wifi-20190609, phil-wifi, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, netbsd-9-base, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, is-mlppp-base, is-mlppp
Changes since 1.27: +12 -2 lines
Diff to previous 1.27 (colored)

Keep things portable (requested by joerg) by not depending on reallocarr
and instead doing the overflow check ourselves.

Revision 1.27 / (download) - annotate - [select for diffs], Sat Nov 7 18:11:21 2015 UTC (5 years, 11 months ago) by joerg
Branch: MAIN
CVS Tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, pgoyette-compat-base, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, perseant-stdc-iso10646-base, perseant-stdc-iso10646, netbsd-8-base, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, matt-nb8-mediatek-base, matt-nb8-mediatek, localcount-20160914, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Branch point for: pgoyette-compat
Changes since 1.26: +2 -3 lines
Diff to previous 1.26 (colored)

paths.h is not used.

Revision 1.26 / (download) - annotate - [select for diffs], Sat Oct 2 19:31:14 2010 UTC (11 years ago) by wiz
Branch: MAIN
CVS Tags: yamt-pagecache-tag8, yamt-pagecache-base9, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, yamt-pagecache, tls-maxphys-base, tls-maxphys, tls-earlyentropy-base, tls-earlyentropy, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, matt-mips64-premerge-20101231, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2, agc-symver-base, agc-symver
Changes since 1.25: +3 -3 lines
Diff to previous 1.25 (colored)

Print version string to stdout instead of stderr;
it is user-requested and not an error.

Revision 1.25 / (download) - annotate - [select for diffs], Sun Jan 10 01:10:16 2010 UTC (11 years, 9 months ago) by joerg
Branch: MAIN
Changes since 1.24: +5 -3 lines
Diff to previous 1.24 (colored)

Plug a memory leak. From Igor Zinovik.

Revision 1.24 / (download) - annotate - [select for diffs], Fri Sep 19 18:33:34 2008 UTC (13 years, 1 month ago) by joerg
Branch: MAIN
CVS Tags: netbsd-5-base, netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, netbsd-5, matt-premerge-20091211, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2, jym-xensuspend-nbase, jym-xensuspend-base, jym-xensuspend
Changes since 1.23: +282 -332 lines
Diff to previous 1.23 (colored)

Update patch to the version used by DragonFly and derived from OpenBSD.
Major changes are:
- better detection of double applied patches
- rejects remain unified diffs for unified patches
- far less limitations, e.g. patch lines may be arbitrary long

This addresses PR standards/11220 by changing patch -b behavior to be
POSIX compliant. Old behavior can be obtained using --suffix, which
works since NetBSD 1.4. pkgsrc has been adjusted accordingly.

Revision 1.23 / (download) - annotate - [select for diffs], Sun Oct 14 04:54:34 2007 UTC (14 years ago) by lukem
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-pf42-base, yamt-pf42, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, wrstuden-revivesa, matt-armv6-nbase, matt-armv6-base, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-nbase, hpcarm-cleanup-base, cube-autoconf-base, cube-autoconf
Changes since 1.22: +4 -4 lines
Diff to previous 1.22 (colored)

Convert to using raise_default_signal(3).

Revision 1.22 / (download) - annotate - [select for diffs], Sun Apr 9 19:12:17 2006 UTC (15 years, 6 months ago) by christos
Branch: MAIN
CVS Tags: wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, netbsd-4-base, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, netbsd-4-0, netbsd-4, matt-mips64-base, matt-mips64, hpcarm-cleanup, chap-midi-nbase, chap-midi-base, chap-midi, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: matt-armv6
Changes since 1.21: +3 -3 lines
Diff to previous 1.21 (colored)

Coverity CID 1253, 1254: Don't assign the return of read or write to size_t.
It will never be negative.

Revision 1.21 / (download) - annotate - [select for diffs], Fri Mar 25 23:00:55 2005 UTC (16 years, 7 months ago) by skd
Branch: MAIN
Changes since 1.20: +5 -2 lines
Diff to previous 1.20 (colored)

add --dry-run like gnu patch.

Revision 1.20 / (download) - annotate - [select for diffs], Sat Oct 30 21:52:09 2004 UTC (16 years, 11 months ago) by dsl
Branch: MAIN
CVS Tags: netbsd-3-base, netbsd-3-1-RELEASE, netbsd-3-1-RC4, netbsd-3-1-RC3, netbsd-3-1-RC2, netbsd-3-1-RC1, netbsd-3-1-1-RELEASE, netbsd-3-1, netbsd-3-0-RELEASE, netbsd-3-0-RC6, netbsd-3-0-RC5, netbsd-3-0-RC4, netbsd-3-0-RC3, netbsd-3-0-RC2, netbsd-3-0-RC1, netbsd-3-0-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE, netbsd-3-0, netbsd-3
Changes since 1.19: +4 -4 lines
Diff to previous 1.19 (colored)

Add (unsigned char) cast to ctype functions
Stop infinite loop if get lower case char with no upper case equiv.

Revision 1.19 / (download) - annotate - [select for diffs], Wed Jul 30 08:51:55 2003 UTC (18 years, 3 months ago) by itojun
Branch: MAIN
CVS Tags: netbsd-2-base, netbsd-2-1-RELEASE, netbsd-2-1-RC6, netbsd-2-1-RC5, netbsd-2-1-RC4, netbsd-2-1-RC3, netbsd-2-1-RC2, netbsd-2-1-RC1, netbsd-2-1, netbsd-2-0-base, netbsd-2-0-RELEASE, netbsd-2-0-RC5, netbsd-2-0-RC4, netbsd-2-0-RC3, netbsd-2-0-RC2, netbsd-2-0-RC1, netbsd-2-0-3-RELEASE, netbsd-2-0-2-RELEASE, netbsd-2-0-1-RELEASE, netbsd-2-0, netbsd-2
Changes since 1.18: +3 -3 lines
Diff to previous 1.18 (colored)

remove unused macros

Revision 1.18 / (download) - annotate - [select for diffs], Wed Jul 30 08:51:04 2003 UTC (18 years, 3 months ago) by itojun
Branch: MAIN
Changes since 1.17: +13 -11 lines
Diff to previous 1.17 (colored)

use bounded string op

Revision 1.17 / (download) - annotate - [select for diffs], Sat Jul 12 13:53:08 2003 UTC (18 years, 3 months ago) by itojun
Branch: MAIN
Changes since 1.16: +5 -2 lines
Diff to previous 1.16 (colored)

pedantic check around unsafe strncpy.
XXX this code needs a serious rewrite

Revision 1.16 / (download) - annotate - [select for diffs], Sat Jul 12 13:47:44 2003 UTC (18 years, 3 months ago) by itojun
Branch: MAIN
Changes since 1.15: +25 -2 lines
Diff to previous 1.15 (colored)

copyright missing in files, copy them from README

Revision 1.15 / (download) - annotate - [select for diffs], Fri May 30 18:14:13 2003 UTC (18 years, 5 months ago) by kristerw
Branch: MAIN
Changes since 1.14: +13 -27 lines
Diff to previous 1.14 (colored)

Simplify handling of memory allocation, and make sure all return values
from malloc etc. are handled.

This removes the old behavior to retry the operation with a less memory-
consuming method in case malloc failed (this mechanism has never really
worked, and is hard to test.  Besides, it is less useful now than it was
20 years ago when the code was written...)

Revision 1.14 / (download) - annotate - [select for diffs], Thu May 29 00:59:24 2003 UTC (18 years, 5 months ago) by kristerw
Branch: MAIN
Changes since 1.13: +5 -5 lines
Diff to previous 1.13 (colored)

Be consistent with use of types (e.g. do not use LINENUM for quantities
that are not line numbers).

Revision 1.13 / (download) - annotate - [select for diffs], Mon Jan 6 20:30:41 2003 UTC (18 years, 9 months ago) by wiz
Branch: MAIN
Changes since 1.12: +3 -3 lines
Diff to previous 1.12 (colored)

writable, not writeable.

Revision 1.12 / (download) - annotate - [select for diffs], Sat Mar 16 22:36:42 2002 UTC (19 years, 7 months ago) by kristerw
Branch: MAIN
CVS Tags: netbsd-1-6-base, netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1, netbsd-1-6-PATCH002-RELEASE, netbsd-1-6-PATCH002-RC4, netbsd-1-6-PATCH002-RC3, netbsd-1-6-PATCH002-RC2, netbsd-1-6-PATCH002-RC1, netbsd-1-6-PATCH002, netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001, netbsd-1-6, fvdl_fs64_base
Changes since 1.11: +37 -11 lines
Diff to previous 1.11 (colored)

Check result of malloc and strdup
Made some functions static
Removed unneccessary buffer
Increased size of some buffers that could overflow

Revision 1.11 / (download) - annotate - [select for diffs], Mon Mar 11 23:29:02 2002 UTC (19 years, 7 months ago) by kristerw
Branch: MAIN
Changes since 1.10: +349 -322 lines
Diff to previous 1.10 (colored)

KNF

Revision 1.10 / (download) - annotate - [select for diffs], Mon Mar 11 18:47:51 2002 UTC (19 years, 7 months ago) by kristerw
Branch: MAIN
Changes since 1.9: +28 -108 lines
Diff to previous 1.9 (colored)

Ansify
Remove unused defines
Remove #ifndef lint
Remove redundant and incorrect casts.

Revision 1.9 / (download) - annotate - [select for diffs], Fri Mar 8 21:57:33 2002 UTC (19 years, 7 months ago) by kristerw
Branch: MAIN
Changes since 1.8: +23 -34 lines
Diff to previous 1.8 (colored)

Ansify
Remove 'register'
Make local functions static.
Remove most '#ifndef lint'

Revision 1.8 / (download) - annotate - [select for diffs], Wed Oct 11 14:46:15 2000 UTC (21 years ago) by is
Branch: MAIN
Changes since 1.7: +3 -3 lines
Diff to previous 1.7 (colored)

More format string cleanup by sommerfeld.

Revision 1.7 / (download) - annotate - [select for diffs], Tue Feb 9 05:15:45 1999 UTC (22 years, 8 months ago) by sommerfe
Branch: MAIN
CVS Tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221, wrstuden-devbsize, netbsd-1-5-base, netbsd-1-5-ALPHA2, netbsd-1-4-base, netbsd-1-4-RELEASE, netbsd-1-4-PATCH002, netbsd-1-4-PATCH001, minoura-xpg4dl-base, minoura-xpg4dl, comdex-fall-1999-base, comdex-fall-1999
Branch point for: netbsd-1-5, netbsd-1-4
Changes since 1.6: +6 -3 lines
Diff to previous 1.6 (colored)

Fix PR2429: catch doubly-applied patches which create new files.

Revision 1.6 / (download) - annotate - [select for diffs], Fri Nov 6 22:40:13 1998 UTC (22 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.5: +5 -5 lines
Diff to previous 1.5 (colored)

char -> unsigned char
rindex -> strrchr

Revision 1.5 / (download) - annotate - [select for diffs], Sun Feb 22 13:33:50 1998 UTC (23 years, 8 months ago) by christos
Branch: MAIN
Changes since 1.4: +88 -25 lines
Diff to previous 1.4 (colored)

WARNSify

Revision 1.4 / (download) - annotate - [select for diffs], Thu Sep 19 06:27:16 1996 UTC (25 years, 1 month ago) by thorpej
Branch: MAIN
CVS Tags: netbsd-1-3-base, netbsd-1-3-RELEASE, netbsd-1-3-PATCH003-CANDIDATE2, netbsd-1-3-PATCH003-CANDIDATE1, netbsd-1-3-PATCH003-CANDIDATE0, netbsd-1-3-PATCH003, netbsd-1-3-PATCH002, netbsd-1-3-PATCH001, netbsd-1-3-BETA, netbsd-1-3
Changes since 1.3: +1 -1 lines
Diff to previous 1.3 (colored)

RCS id police.

Revision 1.3 / (download) - annotate - [select for diffs], Tue Dec 7 10:36:16 1993 UTC (27 years, 10 months ago) by mycroft
Branch: MAIN
CVS Tags: netbsd-1-2-base, netbsd-1-2-RELEASE, netbsd-1-2-PATCH001, netbsd-1-2-BETA, netbsd-1-2, netbsd-1-1-base, netbsd-1-1-RELEASE, netbsd-1-1-PATCH001, netbsd-1-1, netbsd-1-0-base, netbsd-1-0-RELEASE, netbsd-1-0-PATCH1, netbsd-1-0-PATCH06, netbsd-1-0-PATCH05, netbsd-1-0-PATCH04, netbsd-1-0-PATCH03, netbsd-1-0-PATCH02, netbsd-1-0-PATCH0, netbsd-1-0
Changes since 1.2: +1 -14 lines
Diff to previous 1.2 (colored)

Eliminate a compiler warning.

Revision 1.2 / (download) - annotate - [select for diffs], Mon Aug 2 17:55:23 1993 UTC (28 years, 3 months ago) by mycroft
Branch: MAIN
Changes since 1.1: +4 -0 lines
Diff to previous 1.1 (colored)

Add RCS identifiers, remove some completely useless RCS logs and patchkit
headers, and a few other insignificant changes.

Revision 1.1 / (download) - annotate - [select for diffs], Fri Apr 9 11:34:10 1993 UTC (28 years, 6 months ago) by cgd
Branch: MAIN
CVS Tags: netbsd-alpha-1, netbsd-0-9-base, netbsd-0-9-RELEASE, netbsd-0-9-BETA, netbsd-0-9-ALPHA2, netbsd-0-9-ALPHA, netbsd-0-9, netbsd-0-8

patch 2.0.12u8, from prep.ai.mit.edu.  this is not under the GPL.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>