summaryrefslogtreecommitdiffstats
path: root/usr.bin/cvs/annotate.c
diff options
context:
space:
mode:
authortobias <tobias@openbsd.org>2008-02-01 13:36:43 +0000
committertobias <tobias@openbsd.org>2008-02-01 13:36:43 +0000
commit11aca5de0641899f73ba1613800ee4888b89ef9f (patch)
tree65514f6a3486fd0819c5c7bed1e078b2bde5127e /usr.bin/cvs/annotate.c
parentno more /usr/share/pf; (diff)
downloadwireguard-openbsd-11aca5de0641899f73ba1613800ee4888b89ef9f.tar.xz
wireguard-openbsd-11aca5de0641899f73ba1613800ee4888b89ef9f.zip
Another GNU cvs weirdo: During annotate, invalid revisions are allowed if
-f is supplied (thus switching to HEAD), but unknown symbols end in fatal.
Diffstat (limited to 'usr.bin/cvs/annotate.c')
-rw-r--r--usr.bin/cvs/annotate.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/usr.bin/cvs/annotate.c b/usr.bin/cvs/annotate.c
index 9d47c272ae9..bc878f7ec18 100644
--- a/usr.bin/cvs/annotate.c
+++ b/usr.bin/cvs/annotate.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: annotate.c,v 1.45 2008/01/31 10:15:05 tobias Exp $ */
+/* $OpenBSD: annotate.c,v 1.46 2008/02/01 13:36:43 tobias Exp $ */
/*
* Copyright (c) 2007 Tobias Stoeckmann <tobias@openbsd.org>
* Copyright (c) 2006 Xavier Santolaria <xsa@openbsd.org>
@@ -137,6 +137,12 @@ cvs_annotate_local(struct cvs_file *cf)
/* Stick at weird GNU cvs, ignore error. */
return;
+ /* -f is not allowed for unknown symbols */
+ rev = rcsnum_parse(cvs_specified_tag);
+ if (rev == NULL)
+ fatal("no such tag %s", cvs_specified_tag);
+
+ rcsnum_free(rev);
rev = rcsnum_alloc();
rcsnum_cpy(cf->file_rcs->rf_head, rev, 0);
}