diff options
author | 1998-07-13 03:52:21 +0000 | |
---|---|---|
committer | 1998-07-13 03:52:21 +0000 | |
commit | b6f6614ecf345cfa15dd59c3c624b2ef31ac6aa3 (patch) | |
tree | 531a9b11d3cd9c1b06c49bb8ccfc62f5de45fcce /gnu/usr.bin/cvs/src/diff.c | |
parent | since i blew up prev commit msg, here it is: (diff) | |
download | wireguard-openbsd-b6f6614ecf345cfa15dd59c3c624b2ef31ac6aa3.tar.xz wireguard-openbsd-b6f6614ecf345cfa15dd59c3c624b2ef31ac6aa3.zip |
Latest version from Cyclic
Diffstat (limited to 'gnu/usr.bin/cvs/src/diff.c')
-rw-r--r-- | gnu/usr.bin/cvs/src/diff.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/gnu/usr.bin/cvs/src/diff.c b/gnu/usr.bin/cvs/src/diff.c index 7a4c105b9d3..341c04c248f 100644 --- a/gnu/usr.bin/cvs/src/diff.c +++ b/gnu/usr.bin/cvs/src/diff.c @@ -434,7 +434,15 @@ diff_fileproc (callerdat, finfo) exists = 0; /* special handling for TAG_HEAD */ if (diff_rev1 && strcmp (diff_rev1, TAG_HEAD) == 0) - exists = vers->vn_rcs != NULL; + { + char *head = + (vers->vn_rcs == NULL + ? NULL + : RCS_branch_head (vers->srcfile, vers->vn_rcs)); + exists = head != NULL; + if (head != NULL) + free (head); + } else { Vers_TS *xvers; @@ -814,7 +822,9 @@ diff_file_nodiff (finfo, vers, empty_file) { /* special handling for TAG_HEAD */ if (diff_rev1 && strcmp (diff_rev1, TAG_HEAD) == 0) - use_rev1 = xstrdup (vers->vn_rcs); + use_rev1 = ((vers->vn_rcs == NULL || vers->srcfile == NULL) + ? NULL + : RCS_branch_head (vers->srcfile, vers->vn_rcs)); else { xvers = Version_TS (finfo, NULL, diff_rev1, diff_date1, 1, 0); @@ -827,7 +837,9 @@ diff_file_nodiff (finfo, vers, empty_file) { /* special handling for TAG_HEAD */ if (diff_rev2 && strcmp (diff_rev2, TAG_HEAD) == 0) - use_rev2 = xstrdup (vers->vn_rcs); + use_rev2 = ((vers->vn_rcs == NULL || vers->srcfile == NULL) + ? NULL + : RCS_branch_head (vers->srcfile, vers->vn_rcs)); else { xvers = Version_TS (finfo, NULL, diff_rev2, diff_date2, 1, 0); |