home *** CD-ROM | disk | FTP | other *** search
- (Message inbox:1084)
- Date: Mon, 4 Feb 1991 15:34:19 -0500
- From: dmr@research.att.com
- To: moraes@cs.toronto.edu
- Subject: Re: Wanted: K&R2 errata
- Return-Path: neat.cs.toronto.edu!research.att.com!dmr
- Received: from neat.cs.toronto.edu ([128.100.3.2]) by smoke.cs.toronto.edu with SMTP id <272>; Mon, 4 Feb 1991 15:34:44 -0500
- Received: from research.att.com ([192.20.225.2]) by neat.cs.toronto.edu with SMTP id <7142>; Mon, 4 Feb 1991 15:34:33 -0500
- Message-Id: <91Feb4.153433est.7142@neat.cs.toronto.edu>
-
- Yes; it was posted Jan 31. Here's a copy.
-
- Dennis
- ---
- It's time to post the latest version of the errata list for
- the second edition of K&R. Further corrections are welcome.
-
- Dennis Ritchie
- att!research!dmr
- dmr@research.att.com
- -----
-
- Changes to The C Programming Language, 2nd Edition
-
- As the C standard wended its way through the approval
- process and became final, Brian and I prepared fixes to put
- in new printings of the second edition of ``The C
- Programming Language.'' These printings are identified by a
- large red ``ANSI C'' in the upper right quadrant.
- Fortunately, the changes are minor; some repair our bugs, a
- few account for last-minute changes in the draft standard.
- For the benefit of previous and near-future purchasers, here
- are the changes that were made:
-
- Two or three sentences in the Preface and Introduction are
- updated to describe the state of the Standard.
-
- atof is in <stdlib.h>, not <math.h>; this changes 71, 76,
- 82, 121.
-
- On page 86, error corrected: elided initializers are 0
- for automatic as well as static variables.
-
- On page 168: changed 1 to 1.0 to avoid potential overflow.
-
- Minor typos are corrected on pages 87, 89, 164, 165, 168,
- 180.
-
- The inconspicuous references to noalias on pages 192 and
- 211 are removed.
-
- The following paragraph is added to the end of section A6.6
- (p 199):
-
- A pointer may be converted to another pointer whose
- type is the same except for the addition or removal of
- qualifiers (A4.4, A8.2) of the object type to which the
- pointer refers. If qualifiers are added, the new
- pointer is equivalent to the old except for
- restrictions implied by the new qualifiers. If
- qualifiers are removed, operations on the underlying
- object remain subject to the qualifiers in its actual
- declaration.
-
-
- On p. 199, beginning of section A6.8, ``Any pointer may be
- converted to type void *...'' is changed to ``Any pointer
- >to an object< may be converted to type void *...''.
-
- On p. 204, A7.4.4, ``The operand of the unary + operator
- must have arithmetic or pointer type...'' should read ``must
- have arithmetic type...''.
-
- On p. 206, A7.9, about relational operators: ``Pointers to
- objects of the same type may be compared...'' is changed to
- ``Pointers to object of the same type >(ignoring any
- qualifiers)< may be compared...''.
-
- The indented material on p. 209, ``According to the
- restrictions... relaxing it.'' is removed. [This is
- related to the paragraph added above. The wording of the
- penultimate draft made it useless to take an (int *)
- pointer, cast it to (const int *), then cast it back to
- (int *).]
-
- On p. 219 middle, initialization of structures, add
- ``Unnamed bit-field members are ignored, and are not
- initialized.''
-
-
- Appendix B changes:
-
- p 242: Add ``fflush(NULL) flushes all output streams.'' to
- fflush description.
-
- p 243: Change to ``it must be called before reading,
- writing >or any other operation<'' in setvbuf description.
-
- p 249: Add ``Comparison functions treat arguments as
- unsigned char arrays.'' to <string.h> description.
-
- p 255: Change range of tm_sec to (0,61) for leap seconds.
-
- p 255: Change CLK_TCK to CLOCKS_PER_SEC.
-
- p 257: Drop U and L suffixes from <limits.h> constants.
- tm_sec range is (00,61) here too.
-
- Appendix C change:
-
- p 261: Change ``External declarations without any
- specifiers...'' to ``External >data< declarations without
- any specifiers...''.
-
- The index has been reprinted to fix a couple of typos and
- account for motion within Appendix A; one page of the table
- of contents is changed.
-
-
- October, 1989: Minor changes on page 131 to add & to last
- example, on page 208 to change ``equal'' to ``unequal'' in
- the description of logical OR, and on page 254 to clarify
- that only volatile automatics are saved with longjmp.
-
- Not yet fixed in any printing:
-
- page 53: Note under the table should say & as well as + - *
- has higher precedence as a unary operator.
-
- page 111: indent is too large, and a bit of program text is
- cut off.
-
- page 231 extra right paren in nested call to cat macro.
-
- page 246: first argument of sscanf should have type
- const char *.
-
- page 249: in description of strncpy, t => ct.
-