=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/netstat/Attic/atalk.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- src/usr.bin/netstat/Attic/atalk.c 2001/01/29 01:58:13 1.3 +++ src/usr.bin/netstat/Attic/atalk.c 2001/08/18 22:14:03 1.4 @@ -1,4 +1,4 @@ -/* $OpenBSD: atalk.c,v 1.3 2001/01/29 01:58:13 niklas Exp $ */ +/* $OpenBSD: atalk.c,v 1.4 2001/08/18 22:14:03 brian Exp $ */ /* $NetBSD: atalk.c,v 1.2 1997/05/22 17:21:26 christos Exp $ */ /* @@ -38,7 +38,7 @@ #if 0 static char sccsid[] = "from @(#)atalk.c 1.1 (Whistle) 6/6/96"; #else -static char rcsid[] = "$OpenBSD: atalk.c,v 1.3 2001/01/29 01:58:13 niklas Exp $"; +static char rcsid[] = "$OpenBSD: atalk.c,v 1.4 2001/08/18 22:14:03 brian Exp $"; #endif #endif /* not lint */ @@ -235,6 +235,8 @@ n = snprintf(buf, sizeof(buf), "%s", atalk_print(sa2, 1 | (what & 8))); if (n >= sizeof(buf)) n = sizeof(buf) - 1; + else if (n == -1) + n = 0; /* What else can be done ? */ if (sat2->sat_addr.s_net != 0xFFFF) { thesockaddr.sat_addr.s_net = sat1->sat_addr.s_net | ~sat2->sat_addr.s_net; @@ -242,14 +244,16 @@ "-%s", atalk_print(sa2, 1 | (what & 8))); if (l >= sizeof(buf) - n) l = sizeof(buf) - n - 1; - n += l; + if (l > 0) + n += l; } if (what & 2) { l = snprintf(buf + n, sizeof(buf) - n, ".%s", atalk_print(sa, what & (~1))); if (l >= sizeof(buf) - n) l = sizeof(buf) - n - 1; - n += l; + if (l > 0) + n += l; } return (buf); }