Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!thunder.mcrcim.mcgill.edu!snorkelwacker.mit.edu!spool.mu.edu!sdd.hp.com!cs.utexas.edu!yale!cmcl2!kramden.acf.nyu.edu!brnstnd From: brnstnd@kramden.acf.nyu.edu (Dan Bernstein) Newsgroups: comp.lang.c Subject: Re: Whose code should we break? ( was Re: 64 bit C ) Message-ID: <5768:Feb2020:29:0091@kramden.acf.nyu.edu> Date: 20 Feb 91 20:29:00 GMT References: <65469@brunix.UUCP> <11285@pasteur.Berkeley.EDU> <1991Feb20.050525.6515@kithrup.COM> Organization: IR Lines: 16 In article <1991Feb20.050525.6515@kithrup.COM> sef@kithrup.COM (Sean Eric Fagan) writes: [ criticizing the statement that a size_t can hold a pointer safely ] > size_t is an integral type *big enough to hold the size of any single > object*. On a '286, for example, with a 16Mb address space, size_t should > be int, not long. Well, no, there's no reason that it should be an int. What's important is that it *could* be an int, and it doesn't have to be big enough to hold a pointer. I find it strange that the standard insisted that some integral type be big enough for a pointer. That rule is entirely useless without a way to figure out what the integral type is. Why did ANSI restrict the implementor without giving the programmer anything in return? ---Dan