From owner-freebsd-net@FreeBSD.ORG Wed Dec 13 13:21:19 2006 Return-Path: X-Original-To: freebsd-net@freebsd.org Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8017016A50E for ; Wed, 13 Dec 2006 13:21:19 +0000 (UTC) (envelope-from bzeeb-lists@lists.zabbadoz.net) Received: from transport.cksoft.de (transport.cksoft.de [62.111.66.27]) by mx1.FreeBSD.org (Postfix) with ESMTP id C7A1B43D7D for ; Wed, 13 Dec 2006 13:18:53 +0000 (GMT) (envelope-from bzeeb-lists@lists.zabbadoz.net) Received: from transport.cksoft.de (localhost [127.0.0.1]) by transport.cksoft.de (Postfix) with ESMTP id F29BA2002D9; Wed, 13 Dec 2006 14:20:12 +0100 (CET) Received: by transport.cksoft.de (Postfix, from userid 66) id 2C79D2002CF; Wed, 13 Dec 2006 14:20:06 +0100 (CET) Received: from maildrop.int.zabbadoz.net (maildrop.int.zabbadoz.net [10.111.66.10]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.int.zabbadoz.net (Postfix) with ESMTP id 9521D444885; Wed, 13 Dec 2006 13:15:26 +0000 (UTC) Date: Wed, 13 Dec 2006 13:15:26 +0000 (UTC) From: "Bjoern A. Zeeb" X-X-Sender: bz@maildrop.int.zabbadoz.net To: Max Laier In-Reply-To: <200612121458.21401.max@love2party.net> Message-ID: <20061213125854.E91892@maildrop.int.zabbadoz.net> References: <20061212111134.J91892@maildrop.int.zabbadoz.net> <200612121458.21401.max@love2party.net> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Virus-Scanned: by AMaViS cksoft-s20020300-20031204bz on transport.cksoft.de Cc: freebsd-net@freebsd.org Subject: Re: ip6_sprintf patch X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Dec 2006 13:21:19 -0000 On Tue, 12 Dec 2006, Max Laier wrote: > On Tuesday 12 December 2006 13:22, Bjoern A. Zeeb wrote: >> + } >> + *cp = digits[*d & 0xf]; > >> + if (zero == 0 || (*cp != '0')) >> + cp++; > > This last if is redundant as we check for "(u_int16_t)0" at the very > begining. If we didn't, you should still get rid of the if-check here as > we might otherwise have more than one "::" in the address. > >> *cp++ = ':'; >> a++; >> } ok looks like .. } *cp++ = digits[*d & 0xf]; *cp++ = ':'; a++; } now. And I have run some tests (in case someone wants to check): http://sources.zabbadoz.net/freebsd/ipv6/ip6_sprintf.c Thanks. -- Bjoern A. Zeeb bzeeb at Zabbadoz dot NeT