Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Oct 1995 15:01:35 -0400
From:      "Garrett A. Wollman" <wollman@lcs.mit.edu>
To:        Terry Lambert <terry@lambert.org>
Cc:        wollman@lcs.mit.edu (Garrett A. Wollman), ache@astral.msk.su, Kai.Vorma@hut.fi, current@freebsd.org
Subject:   Re: tail dumps core
Message-ID:  <9510101901.AA10410@halloran-eldar.lcs.mit.edu>
In-Reply-To: <199510101836.LAA10827@phaeton.artisoft.com>
References:  <9510101735.AA10192@halloran-eldar.lcs.mit.edu> <199510101836.LAA10827@phaeton.artisoft.com>

next in thread | previous in thread | raw e-mail | index | archive | help
<<On Tue, 10 Oct 1995 11:36:34 -0700 (MST), Terry Lambert <terry@lambert.org> said:

>> Neither of these are portable unless the array being cleared is
>> composed of characters.  There is almost never any reason to use
>> calloc(3).

> I don't understand where you see a non-portability.  Can you please
> explain?  Thanks.

#include <stdio.h>
#include <string.h>

int
main(void) {
	foo *p;
	double d;
	int i;

	memset(&p, 0, sizeof p);
	if (p == 0) {
		printf("an all-bits-zero foo * compares equal to NULL\n");
	} else {
		printf("an all-bits-zero foo * compares different to NULL\n):
	}

	memset(&d, 0, sizeof d);
	if (d == 0) {
		printf("an all-bits-zero double compares equal to 0\n");
	} else {
		printf("an all-bits-zero double compares different to 0\n");
	}

	memset(&i, 0, sizeof i);
	if (i == 0) {
		printf("your machine is normal\n");
	} else {
		printf("your machine is really weird, but allowed by the"
		       " C standard\n");
	}
	return 0;
}

-GAWollman

--
Garrett A. Wollman   | Shashish is simple, it's discreet, it's brief. ... 
wollman@lcs.mit.edu  | Shashish is the bonding of hearts in spite of distance.
Opinions not those of| It is a bond more powerful than absence.  We like people
MIT, LCS, ANA, or NSA| who like Shashish.  - Claude McKenzie + Florent Vollant



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9510101901.AA10410>