Corrections to the first printing (Aug. 1996) of C Interfaces and Implementations: Techniques for Creating Reusable Software (Addison-Wesley Professional Computing Series, 1997, ISBN 0-201-49841-3). In the list below, line +n and line -n refer to the nth line from the top and bottom of the indicated page.
Page xi, line +5: disemminate
disseminate
Page xvii, line +3: project
projects
Page 6, line -2: instead at
instead of at
Page 10, line +14: src
dst
Page 28, line +10: Many the
Many of the
Page 44, line -5: extern Atom_add
extern const char
*Atom_add
Page 46, line -12: Allocated_Failed
Allocate_Failed
Page 60, line -16: if (e1)
e2;
if (!(e1)) e2;
Page 63, line -14: ADA
Ada
Page 89, line -2: in a arena
in an arena
Page 94, line -8: Change to
while (nbytes > arena->limit - arena->avail) {
Page 106, line +7: All the
Most of the
Page 161, line +3: homogenous
homogeneous
Page 168, line -11: Change to
if (array->length == 0) array->array = ALLOC(length*array->size); else if (length > 0)
Page 169, line +7: Change to
if (copy->length >= array->length
Page 183, line +7: Unlike to
Unlike
Page 181, lines -11 and -10: Seq->remlo and Seq->remhi
Seq_remlo and
Seq_remhi
Page 184, line +16: Ring_seq
Ring_ring
Page 193, line +16: incidently
incidentally
Page 442, line +9: current
current
&& t != current
Page 497, lines +7 and 8: Move to just before line -11.