Date: Tue, 04 Dec 2007 14:08:21 -0700 (MST) From: "M. Warner Losh" <imp@bsdimp.com> To: max@love2party.net Cc: danfe@FreeBSD.org, src-committers@FreeBSD.org, jhb@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org, jb@FreeBSD.org, des@des.no Subject: Re: cvs commit: src/sys/netinet/libalias alias_util.c Message-ID: <20071204.140821.-772295776.imp@bsdimp.com> In-Reply-To: <200712041928.36391.max@love2party.net> References: <200712031657.34074.jhb@freebsd.org> <20071204172535.GB82261@FreeBSD.org> <200712041928.36391.max@love2party.net>
next in thread | previous in thread | raw e-mail | index | archive | help
In message: <200712041928.36391.max@love2party.net>
Max Laier <max@love2party.net> writes:
: On Tuesday 04 December 2007, Alexey Dokuchaev wrote:
: > On Mon, Dec 03, 2007 at 04:57:33PM -0500, John Baldwin wrote:
: > > On Monday 03 December 2007 10:24:52 am Dag-Erling Sm??rgrav wrote:
: > > > John Birrell <jb@FreeBSD.org> writes:
: > > > > Log:
: > > > > Fix strict alias warnings.
: > > >
: > > > A much simpler solution (relative to the previous revision):
: > > >
: > > > @@ -131,10 +131,10 @@
: > > > sum += oddbyte;
: > > > }
: > > > /* "Pseudo-header" data */
: > > > - ptr = (u_short *) & (pip->ip_dst);
: > > > + ptr = (void *)&pip->ip_dst;
: > > > sum += *ptr++;
: > > > sum += *ptr;
: > > > - ptr = (u_short *) & (pip->ip_src);
: > > > + ptr = (void *)&pip->ip_src;
: > > > sum += *ptr++;
: > > > sum += *ptr;
: > > > sum += htons((u_short) ntcp);
: > >
: > > *ptr++ would choke since pointer arith on (void *) is undefined
: > > AFAIK.
: >
: > I've been under impression that ++ on void * whould simply increase it
: > by one.
:
: wasn't that the reason why caddr_t exists? i.e. pointer arithmetic on
: void * is bad, but on caddr_t it's kinda okay.
Let's go look at the original code:
u_short *ptr;
and restate your objections...
Warner
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20071204.140821.-772295776.imp>
