diff options
Diffstat (limited to 'net/netatalk-asun/patches/patch-ak')
-rw-r--r-- | net/netatalk-asun/patches/patch-ak | 71 |
1 files changed, 12 insertions, 59 deletions
diff --git a/net/netatalk-asun/patches/patch-ak b/net/netatalk-asun/patches/patch-ak index d3a01e6abf2..ff708761b90 100644 --- a/net/netatalk-asun/patches/patch-ak +++ b/net/netatalk-asun/patches/patch-ak @@ -1,61 +1,14 @@ -$NetBSD: patch-ak,v 1.3 2000/08/15 14:48:23 abs Exp $ +$NetBSD: patch-ak,v 1.4 2001/05/21 18:42:21 abs Exp $ ---- etc/papd/printcap.c.orig Fri May 30 01:27:35 1997 -+++ etc/papd/printcap.c -@@ -158,6 +158,7 @@ - register int i = 0, cnt = 0; - char ibuf[BUFSIZ]; - int tf; -+ int skip; +--- etc/atalkd/route.c.orig Tue May 20 18:35:42 1997 ++++ etc/atalkd/route.c +@@ -34,7 +34,8 @@ + u_char sam_family; + u_short sam_pad; + u_short sam_mask; +-} mask = { sizeof( struct sockaddr_m ), 0, 0, 0xffff }; ++ u_short sam_pad2; ++} mask = { sizeof( struct sockaddr_m ), 0, 0, 0xffff, 0 }; - hopcount = 0; - tbuf = bp; -@@ -176,7 +177,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); - } -@@ -190,6 +191,7 @@ - #endif - if (tf < 0) - return (-1); -+ skip = 0; - for (;;) { - cp = bp; - for (;;) { -@@ -203,12 +205,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; -@@ -222,7 +232,7 @@ - */ - if (tnamatch(name)) { - close(tf); -- return(tnchktc()); -+ return(tnchktc(cap)); - } - } - } + struct rt_msg_at { + struct rt_msghdr rtma_rtm; |