<div dir="ltr">On Wed, Feb 6, 2013 at 7:35 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><br>
   In 1994 NULL was a pain because for different systems it was in different include files and sometimes you had to do very nasty stuff like<br>
<br>
#if !defined(NULL)<br>
#define NULL  0<br>
<br>
This is why PETSC_NULL came into existence.<br>
<br>
Is the world a different place now? Based on the fact there are numerous (272 to be exact thanks to Karl) uses of NULL in PETSc today and they seem to cause absolutely no grief? (Except to Barry's tidy little mind) it seems PETSC_NULL is not needed any longer?<br>

<br>
   If this is the case I propose we eradicate PETSC_NULL replacing it everywhere with NULL.<br></blockquote><div><br></div><div style>We had a similar discussion a while back.</div><div><br></div><div><a href="http://lists.mcs.anl.gov/pipermail/petsc-dev/2011-November/006315.html">http://lists.mcs.anl.gov/pipermail/petsc-dev/2011-November/006315.html</a></div>
<div><br></div><div style>Using NULL instead of PETSC_NULL does not help to safely pass a null pointer value to a variadic function, but PETSC_NULL is also unsafe.</div><div style><br></div><div style>Note that nearly all instances of 'NULL' are in either sieve (disabled by default), examples, or pretty new code. (It's even possible that there were zero occurrences in critical library back when we had that thread.) However, there are certainly a few instances now and we've received no mail, so I'm also in favor of replacing PETSC_NULL with NULL.</div>
<div style><br></div><div style>It's C89 after all, so as long as we are sure to include stddef.h, we should be fine.</div></div></div></div>