All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kari Hurtta <hurtta+zz1@leija.mh.fmi.fi>
To: Michael Buesch <mbuesch@freenet.de>
Cc: Kari Hurtta <hurtta+zz1@leija.mh.fmi.fi>,
	Martin Zwickel <martin.zwickel@technotrend.de>,
	root@chaos.analogic.com, Herbert Xu <herbert@gondor.apana.org.au>,
	Chris Wright <chrisw@osdl.org>,
	akpm@osdl.org, torvalds@osdl.org, linux-kernel@vger.kernel.org,
	sds@epoch.ncsc.mil, jmorris@redhat.com, mika@osdl.org
Subject: Re: [OT] NULL versus 0 (Re: [PATCH] Use NULL instead of integer 0 in security/selinux/)
Date: Thu, 8 Jul 2004 15:57:48 +0300 (EEST)	[thread overview]
Message-ID: <200407081257.i68Cvm0U020579@leija.fmi.fi> (raw)
In-Reply-To: <200407081442.25752.mbuesch@freenet.de>

-- Start of PGP signed section.
> That's all OK, fine and correct, but
> #define NULL 0
> would work for both, C and C++ as far as I can see.
> Am I missing some special case?

As far I know it does not work on C when it is
used as  argument of function and function
have not prototype or function's prototype have ...

In that case compiler do not know that pointer
is required instead of integer. 

However this is just "as far I know", now I have not
in hand reference (or I did not found good quotation.)

/ Kari Hurtta

> 
> Quoting Kari Hurtta <hurtta+zz1@leija.mh.fmi.fi>:
> > -- Start of PGP signed section.
> > > Quoting Martin Zwickel <martin.zwickel@technotrend.de>:
> > > > include/linux/stddef.h:
> > > >
> > > > #undef NULL
> > > > #if defined(__cplusplus)
> > > > #define NULL 0
> > > > #else
> > > > #define NULL ((void *)0)
> > > > #endif
> > >
> > > Yes, I never understood the reason for this ugly
> > > #if defined(__cplusplus) here.
> > > It works, but is IMHO unneccessary.
> > >
> >
> > (This is is off topic, because kernel is not C++, but C).
> >
> > Some quotations from  Bjarne Stroustrup: The C++ Programming Language
> > (Third Edition),
> >
> >    p. 843:    Note that a pointer to function or a pointer to member
> >               cannot be implicity converted to a void *.
> >
> >    p. 844:    A constant expression (§C.5) that evaluates to 0 can
> >               be implicitly converted to any pointer or pointer
> >               to member type (§5.1.1.).
> >
> >
> >    p. 88:     In C, it has been popular to define a macro NULL to
> >               represent the zero pointer. Because of C++'s tighter
> >               type checking, the use of plain 0, rather than any
> >               suggested NULL macro, leads to fewer problems. If you
> >               feel you must define NULL, use
> >
> >                   const int NULL = 0;
> >
> > (typos mine.)
> >
> > / Kari Hurtta
> >
> >
> 
> --
> Regards Michael Buesch  [ http://www.tuxsoft.de.vu ]
> 
> 
-- End of PGP signed section, PGP failed!

  reply	other threads:[~2004-07-08 12:59 UTC|newest]

Thread overview: 75+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-07-07 19:25 [PATCH] Use NULL instead of integer 0 in security/selinux/ Chris Wright
2004-07-08  3:12 ` Herbert Xu
2004-07-08  3:27   ` David S. Miller
2004-07-08  3:43     ` Miles Bader
2004-07-08  5:22       ` Linus Torvalds
2004-07-08  5:35         ` Miles Bader
2004-07-08 15:58           ` Linus Torvalds
2004-07-08 16:23             ` Dave Jones
2004-07-08 17:57               ` Geert Uytterhoeven
2004-07-09 11:23             ` Roman Zippel
2004-07-10 19:41               ` Geert Uytterhoeven
2004-07-11 10:29                 ` Geert Uytterhoeven
2004-07-11 10:54                   ` viro
2004-07-11 16:14                   ` Linus Torvalds
2004-07-11 20:05                 ` H. Peter Anvin
2004-07-12 15:58                   ` Florian Weimer
2004-07-12 16:34                     ` H. Peter Anvin
2004-07-08 11:18         ` Herbert Xu
2004-07-08 13:10           ` Andreas Schwab
2004-07-08 13:56             ` Herbert Xu
2004-07-08 14:13               ` Andreas Schwab
2004-07-08  5:19   ` Linus Torvalds
2004-07-08 16:09     ` Timothy Miller
2004-07-08 16:21       ` Linus Torvalds
2004-07-08 16:27         ` Linus Torvalds
2004-07-08 16:52         ` Timothy Miller
     [not found]           ` <200407090056.51084.vda@port.imtp.ilyichevsk.odessa.ua>
2004-07-12 15:17             ` Timothy Miller
2004-07-12 16:12               ` Andreas Schwab
2004-07-12 16:51                 ` Andrew Pimlott
2004-07-15 16:15                 ` Timothy Miller
2004-07-09 20:36     ` Eric W. Biederman
2004-07-09 23:49       ` Paul Jackson
2004-07-10  1:43         ` Kyle Moffett
2004-07-10  1:47           ` Herbert Xu
2004-07-10 21:53             ` Alexandre Oliva
2004-07-10  6:18       ` Linus Torvalds
2004-07-10  6:23         ` Linus Torvalds
2004-07-10  6:58           ` Andrea Arcangeli
2004-07-10  9:48             ` Eric W. Biederman
2004-07-10 15:39           ` Roland Dreier
2004-07-11  2:45             ` Eyal Lebedinsky
2004-07-11 21:19             ` Olaf Titz
2004-07-10  9:39         ` Eric W. Biederman
2004-07-10  9:56           ` Herbert Xu
2004-07-11 21:47           ` Olaf Titz
2004-07-13  8:43             ` Geert Uytterhoeven
2004-07-14  3:12               ` Alexandre Oliva
2004-07-13 18:53             ` Elladan
2004-07-14  3:15             ` Alexandre Oliva
2004-07-10 12:11         ` Roman Zippel
2004-07-10 21:59         ` Alexandre Oliva
2004-07-11  4:40           ` Linus Torvalds
2004-07-10  9:31       ` Eyal Lebedinsky
2004-07-10 22:07         ` Alexandre Oliva
2004-07-10 23:52         ` Paul Jackson
2004-07-11  0:12           ` Tim Wright
2004-07-12 22:03       ` Bill Davidsen
2004-07-10  8:18     ` Florian Weimer
2004-07-08 11:10   ` Richard B. Johnson
2004-07-08 11:28     ` Michael Buesch
2004-07-08 11:44       ` Martin Zwickel
2004-07-08 12:06         ` Michael Buesch
2004-07-08 12:38           ` [OT] NULL versus 0 (Re: [PATCH] Use NULL instead of integer 0 in security/selinux/) Kari Hurtta
2004-07-08 12:42             ` Michael Buesch
2004-07-08 12:57               ` Kari Hurtta [this message]
2004-07-08 15:25                 ` Herbert Xu
2004-07-10  8:22           ` [PATCH] Use NULL instead of integer 0 in security/selinux/ Florian Weimer
2004-07-08 11:43     ` P. Benie
2004-07-08 14:32       ` Richard B. Johnson
2004-07-08 15:00         ` Michael Poole
2004-07-08 15:30           ` P. Benie
2004-07-08 15:55           ` Andreas Schwab
2004-07-10  7:09         ` Andrea Arcangeli
2004-07-10  7:02       ` Andrea Arcangeli
2004-07-10  6:59     ` Andrea Arcangeli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200407081257.i68Cvm0U020579@leija.fmi.fi \
    --to=hurtta+zz1@leija.mh.fmi.fi \
    --cc=akpm@osdl.org \
    --cc=chrisw@osdl.org \
    --cc=herbert@gondor.apana.org.au \
    --cc=jmorris@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=martin.zwickel@technotrend.de \
    --cc=mbuesch@freenet.de \
    --cc=mika@osdl.org \
    --cc=root@chaos.analogic.com \
    --cc=sds@epoch.ncsc.mil \
    --cc=torvalds@osdl.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.