summaryrefslogtreecommitdiff
path: root/net/netatalk-umich/patches/patch-bf
diff options
context:
space:
mode:
Diffstat (limited to 'net/netatalk-umich/patches/patch-bf')
-rw-r--r--net/netatalk-umich/patches/patch-bf61
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));
+ }
+ }
+ }