Date: Mon, 20 Feb 2017 15:40:30 -0800 From: Conrad Meyer <cem@freebsd.org> To: "Pedro F. Giffuni" <pfg@freebsd.org> Cc: src-committers <src-committers@freebsd.org>, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r313982 - in head/sys/dev: agp al_eth an arcmsr bce beri/virtio bhnd/cores/usb buslogic ce cm cp ctau cx de ed fatm fe firewire hptiop hptmv iicbus isp le md ncr netmap ofw patm pccard ... Message-ID: <CAG6CVpUSxaQkq%2B7siKQPOW4FuaVpoY5uMcSb6jMvrROqSiqzGA@mail.gmail.com> In-Reply-To: <201702200343.v1K3hCk3060716@repo.freebsd.org> References: <201702200343.v1K3hCk3060716@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Feb 19, 2017 at 7:43 PM, Pedro F. Giffuni <pfg@freebsd.org> wrote: > Author: pfg > Date: Mon Feb 20 03:43:12 2017 > New Revision: 313982 > URL: https://svnweb.freebsd.org/changeset/base/313982 > > Log: > sys/dev: Replace zero with NULL for pointers. > > Makes things easier to read, plus architectures may set NULL to something > different than zero. Hi Pedro, I like the change for style reasons. The comment about architectures with non-zero NULL is a little misleading, though. This change has no impact on non-zero bit pattern NULL architectures. The zero pointer value in C is NULL and NULL is the zero pointer value in C. It may have a bit pattern other than zero (i.e., printf("%p", NULL) may be non-zero and memset(&p, 0, sizeof(p)) is bogus in portable code) but assigning the logical zero value is always legitimate. After all, NULL is just a casted zero value: #define NULL ((void *)0) Maybe this is moot. I don't believe any architecture FreeBSD actually supports has non-zero bitpattern NULL, but something weird like CHERI might. Best, Conrad
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAG6CVpUSxaQkq%2B7siKQPOW4FuaVpoY5uMcSb6jMvrROqSiqzGA>