$NetBSD: patch-ae,v 1.2 2008/01/04 06:48:06 martti Exp $ --- src/rcs.c.orig 2006-06-08 16:55:04.000000000 +0300 +++ src/rcs.c 2008-01-02 14:43:41.000000000 +0200 @@ -3533,7 +3533,7 @@ size_t len; }; #define KEYWORD_INIT(s) (s), sizeof (s) - 1 -static const struct rcs_keyword keywords[] = +static struct rcs_keyword keywords[] = { { KEYWORD_INIT ("Author") }, { KEYWORD_INIT ("Date") }, @@ -3546,6 +3546,7 @@ { KEYWORD_INIT ("Revision") }, { KEYWORD_INIT ("Source") }, { KEYWORD_INIT ("State") }, + { NULL, 0 }, { NULL, 0 } }; enum keyword @@ -3560,7 +3561,8 @@ KEYWORD_RCSFILE, KEYWORD_REVISION, KEYWORD_SOURCE, - KEYWORD_STATE + KEYWORD_STATE, + KEYWORD_LOCALID }; /* Convert an RCS date string into a readable string. This is like @@ -3697,6 +3699,11 @@ return; } + if (RCS_citag != NULL) { + keywords[KEYWORD_LOCALID].string = RCS_citag; + keywords[KEYWORD_LOCALID].len = strlen(RCS_citag); + } + /* If we are using -kkvl, dig out the locker information if any. */ locker = NULL; if (expand == KFLAG_KVL) @@ -3788,6 +3795,7 @@ case KEYWORD_HEADER: case KEYWORD_ID: + case KEYWORD_LOCALID: { const char *path; int free_path; @@ -4466,7 +4474,7 @@ if (info != NULL) { /* If the size of `devtype' changes, fix the sscanf call also */ - char devtype[16]; + char devtype[16+1]; if (sscanf (info->data, "%15s %lu", devtype, &devnum_long) < 2)