Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!att!linac!pacific.mps.ohio-state.edu!zaphod.mps.ohio-state.edu!wuarchive!udel!haven!adm!cmcl2!kramden.acf.nyu.edu!brnstnd From: brnstnd@kramden.acf.nyu.edu (Dan Bernstein) Newsgroups: comp.lang.misc Subject: Re: Answers, Chapter 1: TeX (was C's sins... and others) Message-ID: <7298:Nov620:50:5990@kramden.acf.nyu.edu> Date: 6 Nov 90 20:50:59 GMT References: <1845:Nov607:02:2390@kramden.acf.nyu.edu> <5074@lanl.gov> Organization: IR Lines: 22 In article <5074@lanl.gov> jlg@lanl.gov (Jim Giles) writes: > From article <1845:Nov607:02:2390@kramden.acf.nyu.edu>, by brnstnd@kramden.acf.nyu.edu (Dan Bernstein): > > In article <3681@lanl.gov> jlg@lanl.gov (Jim Giles) writes: > >> [... pointers not reliable across segments ...] What you actually said was that a memory manager cannot use pointers reliably. We all agree that pointers cannot be used portably outside of the arrays that they point to. > > This statement is unjustified. It is, in fact, false. I am told that at > > least one C IBM PC memory manager keeps track of memory separately in > > each segment. > Exactly my point, pointers are presumably being used _within_ > segments, but they are not adequate for writing the _whole_ memory > manager - something else must be in use to track the segments. Huh? Pointers are used to track the segments. It's just that you never try to use one pointer across segments. This sort of bi-level allocation is actually rather easy. Pointers are perfectly adequate for writing the _whole_ memory manager. ---Dan