]> git.ipfire.org Git - people/ms/ipfire-3.x.git/blobdiff - rcs/patches/rcs-5.8-newsvnsyntax.patch
rcs: New package.
[people/ms/ipfire-3.x.git] / rcs / patches / rcs-5.8-newsvnsyntax.patch
diff --git a/rcs/patches/rcs-5.8-newsvnsyntax.patch b/rcs/patches/rcs-5.8-newsvnsyntax.patch
new file mode 100644 (file)
index 0000000..c63f884
--- /dev/null
@@ -0,0 +1,42 @@
+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;