diff options
Diffstat (limited to 'net/netatalk-umich/patches/patch-bf')
-rw-r--r-- | net/netatalk-umich/patches/patch-bf | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/net/netatalk-umich/patches/patch-bf b/net/netatalk-umich/patches/patch-bf new file mode 100644 index 00000000000..dc4ddcdf81c --- /dev/null +++ b/net/netatalk-umich/patches/patch-bf @@ -0,0 +1,61 @@ +$NetBSD: patch-bf,v 1.1.1.1 2002/05/25 12:25:52 markd Exp $ + +--- etc/papd/printcap.c.orig Sat Aug 16 19:20:28 1997 ++++ etc/papd/printcap.c Mon Jan 17 19:40:24 2000 +@@ -159,6 +159,7 @@ + char ibuf[BUFSIZ]; + char *cp2; + int tf; ++ int skip; + + hopcount = 0; + tbuf = bp; +@@ -177,7 +178,7 @@ + cp2 = getenv("TERM"); + if (cp2==(char *) 0 || strcmp(name,cp2)==0) { + strcpy(bp,cp); +- return(tnchktc()); ++ return(tnchktc(cap)); + } else { + tf = open(cap, 0); + } +@@ -191,6 +192,7 @@ + #endif + if (tf < 0) + return (-1); ++ skip = 0; + for (;;) { + cp = bp; + for (;;) { +@@ -204,12 +206,20 @@ + } + c = ibuf[i++]; + if (c == '\n') { +- if (cp > bp && cp[-1] == '\\'){ ++ if (!skip && cp > bp && cp[-1] == '\\'){ + cp--; + continue; + } +- break; ++ skip = 0; ++ if (cp == bp) ++ continue; ++ else ++ break; + } ++ if (c == '#' && cp == bp) ++ skip++; ++ if (skip) ++ continue; + if (cp >= bp+BUFSIZ) { + write(2,"Termcap entry too long\n", 23); + break; +@@ -223,7 +233,7 @@ + */ + if (tnamatch(name)) { + close(tf); +- return(tnchktc()); ++ return(tnchktc(cap)); + } + } + } |