zsh-workers
 help / color / mirror / code / Atom feed
From: Zoltan Hidvegi <hzoli@cs.elte.hu>
To: A.Main@dcs.warwick.ac.uk (Zefram)
Cc: zsh-workers@math.gatech.edu (Zsh hacking and development)
Subject: Re: (NULL == 0) ?
Date: Mon, 27 May 1996 02:00:28 +0200 (MET DST)	[thread overview]
Message-ID: <199605270000.CAA00847@hzoli.ppp.cs.elte.hu> (raw)
In-Reply-To: <15522.199605252200@stone.dcs.warwick.ac.uk> from Zefram at "May 25, 96 11:00:23 pm"

> To answer the subject line, (NULL == 0) *is* guaranteed.  0 is the
> representation of the null pointer constant in C.
> 
> >I would be willing to bet money it's a non-unix box.  Just think of
> >the tremendous amount of unix code that uses the fact that calloc (in
> >our case zcalloc) returns memory that is all zeros (and hence is
> >NULL).  Since zsh only works on unix boxes, I think zeroing out memory
> >with memset is ok.
> 
> A lot of C code assumes this, but it is broken.  No Unix standard
> guarantees more than the C standard about the representation of null
> pointers.

Does anything guarantees that on those (theoretical) systems where NULL is
not really zero, all static and external pointers are initialized to this
NULL?  There are many many places where this assumption is used.

Does anyone heard about such a Unix system?  I bet that if such a system
exists memset would be just the easiest among many other problems.

A couple of other questions about Unix and C standards: does anything
guarantee that a variable is always 8 * sizeof(var) bits long?  Does any
Unix or C standard guarantee that ASCII is used (zsh assumes ASCII in many
places)?  Does any Unix or C standard guarantees that an int always has at
least 32 bits?  Did anyone tried to compile zsh on a 80286 of 8086 Unix?
I can imagine that NULL is not really zero on such systems but I doubt
that zsh can be used on such a system anyway.

Zoltan



  reply	other threads:[~1996-05-27  1:19 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1996-05-25 14:38 clwords bugfix Zefram
1996-05-25 18:02 ` Richard Coleman
1996-05-25 20:52   ` Zefram
1996-05-25 21:25     ` (NULL == 0) ? Richard Coleman
1996-05-25 22:00       ` Zefram
1996-05-27  0:00         ` Zoltan Hidvegi [this message]
1996-05-27  6:39           ` Bart Schaefer
1996-05-27  7:29             ` anthony baxter
1996-05-27 13:07           ` Zefram
1996-05-27 22:00             ` Zoltan Hidvegi
1996-05-27 22:11               ` Zefram
1996-05-27 22:41                 ` Zoltan Hidvegi
1996-05-27 22:54                   ` Zefram
1996-05-28  4:54                     ` Bart Schaefer
1996-05-27 23:36                 ` Bart Schaefer

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=199605270000.CAA00847@hzoli.ppp.cs.elte.hu \
    --to=hzoli@cs.elte.hu \
    --cc=A.Main@dcs.warwick.ac.uk \
    --cc=zsh-workers@math.gatech.edu \
    /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.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).