summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorschwarze <schwarze@openbsd.org>2016-05-09 13:03:55 +0000
committerschwarze <schwarze@openbsd.org>2016-05-09 13:03:55 +0000
commitb5a78d4432f590575518eac8fa332625e2cead1f (patch)
tree1827b9648cd04edf12e9c250dc9632ba35782a63
parentFix stifle_history(): Remove excessive entries, if any. (diff)
downloadwireguard-openbsd-b5a78d4432f590575518eac8fa332625e2cead1f.tar.xz
wireguard-openbsd-b5a78d4432f590575518eac8fa332625e2cead1f.zip
Implement Mdocdate keyword substitution.
In particular, this stops rcsdiff(1) and CVSweb from showing wrong Mdocdate lines in diffs. Problem originally reported by tj@. OK tobias@ otto@ millert@
-rw-r--r--usr.bin/rcs/rcs.c13
-rw-r--r--usr.bin/rcs/rcs.h3
2 files changed, 14 insertions, 2 deletions
diff --git a/usr.bin/rcs/rcs.c b/usr.bin/rcs/rcs.c
index 986dfc90e29..b9a44105744 100644
--- a/usr.bin/rcs/rcs.c
+++ b/usr.bin/rcs/rcs.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: rcs.c,v 1.84 2015/11/02 16:45:21 nicm Exp $ */
+/* $OpenBSD: rcs.c,v 1.85 2016/05/09 13:03:55 schwarze Exp $ */
/*
* Copyright (c) 2004 Jean-Francois Brousseau <jfb@openbsd.org>
* All rights reserved.
@@ -66,6 +66,7 @@ struct rcs_kw rcs_expkw[] = {
{ "Revision", RCS_KW_REVISION },
{ "Source", RCS_KW_SOURCE },
{ "State", RCS_KW_STATE },
+ { "Mdocdate", RCS_KW_MDOCDATE },
};
int rcs_errno = RCS_ERR_NOERR;
@@ -1596,6 +1597,16 @@ rcs_expand_keywords(char *rcsfile_in, struct rcs_delta *rdp, BUF *bp, int mode)
buf_putc(newbuf, ' ');
}
+ if (kwtype & RCS_KW_MDOCDATE) {
+ strftime(buf, sizeof(buf), "%B", &tb);
+ buf_puts(newbuf, buf);
+ /* Only one blank before single-digit day. */
+ snprintf(buf, sizeof(buf), " %d", tb.tm_mday);
+ buf_puts(newbuf, buf);
+ strftime(buf, sizeof(buf), " %Y ", &tb);
+ buf_puts(newbuf, buf);
+ }
+
if (kwtype & RCS_KW_NAME)
buf_putc(newbuf, ' ');
diff --git a/usr.bin/rcs/rcs.h b/usr.bin/rcs/rcs.h
index c12a2e012a2..ff6a3ae27e9 100644
--- a/usr.bin/rcs/rcs.h
+++ b/usr.bin/rcs/rcs.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: rcs.h,v 1.16 2013/06/03 17:04:35 jcs Exp $ */
+/* $OpenBSD: rcs.h,v 1.17 2016/05/09 13:03:55 schwarze Exp $ */
/*
* Copyright (c) 2004 Jean-Francois Brousseau <jfb@openbsd.org>
* All rights reserved.
@@ -69,6 +69,7 @@
#define RCS_KW_SOURCE 0x0400
#define RCS_KW_STATE 0x0800
#define RCS_KW_FULLPATH 0x0010
+#define RCS_KW_MDOCDATE 0x0020
#define RCS_KW_LOCKER 0x10000
#define RCS_KW_ID \