From 38c4ca6c4e9993a1e93c34ef2fba4ee5595db917 Mon Sep 17 00:00:00 2001 From: kris Date: Mon, 16 Jul 2001 04:04:22 +0000 Subject: Oops, commit the version which actually works Obtained from: NetBSD MFC After: 1 week --- lib/libc/net/ns_addr.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'lib/libc/net') diff --git a/lib/libc/net/ns_addr.c b/lib/libc/net/ns_addr.c index f26ed91..75449ed 100644 --- a/lib/libc/net/ns_addr.c +++ b/lib/libc/net/ns_addr.c @@ -187,19 +187,25 @@ Field(buf, out, len) bp = clen + buf - 3; hp = hb + i - 1; - while (hp >= hb) { + while (hp > hb) { if (base16) (void)sscanf(bp, "%3x", hp); else if (base10) (void)sscanf(bp, "%3d", hp); else (void)sscanf(bp, "%3o", hp); - if (hp > hb) { - bp[0] = 0; - hp--; - bp -= 3; - } + + bp[0] = 0; + hp--; + bp -= 3; } + if (base16) + (void)sscanf(buf, "%3x", hp); + else if (base10) + (void)sscanf(buf, "%3d", hp); + else + (void)sscanf(buf, "%3o", hp); + cvtbase((long)ibase, 256, hb, i, out, len); } -- cgit v1.1