Blob Blame History Raw
diff -up rcs-5.8/src/ident.c.newsvnsyntax rcs-5.8/src/ident.c
--- rcs-5.8/src/ident.c.newsvnsyntax	2011-01-07 13:27:18.000000000 +0100
+++ rcs-5.8/src/ident.c	2011-09-08 10:53:34.064837699 +0200
@@ -41,14 +41,20 @@ match (register FILE *fp)
   char line[BUFSIZ];
   register int c;
   register char *tp;
+  int COLON_C = 0;
+  int MAX_COLON = 1;
 
   tp = line;
-  while ((c = getc (fp)) != VDELIM)
+  while ((c = getc (fp)) && (COLON_C < MAX_COLON))
     {
       if (c == EOF && feof (fp) | ferror (fp))
         return c;
       switch (ctab[c])
         {
+        case COLON:
+          *tp++ = c;
+          COLON_C++;
+          break;
         case LETTER:
         case Letter:
           *tp++ = c;
@@ -62,7 +68,15 @@ match (register FILE *fp)
     }
   if (tp == line)
     return c;
-  *tp++ = c;
+  if (c == ' ')
+    {
+      ungetc(c,fp);
+    }
+  else
+    {
+      *tp++ = c;
+    }
+
   if ((c = getc (fp)) != ' ')
     return c ? c : '\n';
   *tp++ = c;