------------------------------------------------------------------------ Typos and errors found in "Advanced Programming in the UNIX Environment" (Last updated June 28, 1992) - p. 31: Last sentence of third from bottom paragraph should read "we would have CHAR_MIN equal to 0 and ...". (UCHAR_MIN does not exist.) - p. 55: Next to last sentence in Section 3.7: "signed size_t" should be "unsigned size_t". - p. 119: Exercise 4.19: "is path is" should be "if path is". - p. 124: Last sentence of indented paragraph above Figure 5.1: "st_blksiz" should be "st_blksize". - p. 125: Indented paragraph at end of Section 5.4: "Non-ASNI" should be "Non-ANSI". - p. 139: Next to last sentence on page: "st_blksiz" should be "st_blksize". - p. 143: The sentence at the top of the page: "One way for the tempnam ..." should be removed, since access() uses the real user and group IDs and the test may not work right from a set-user-ID program. - p. 200: Last sentence in Figure 8.3: "The macro determines if" should be "The WIFSTOPPED macro determines if". - p. 224: Last line on page: "each command-line argument" should be "its command-line argument". - p. 225: In the heading for Program 8.14 change "each command-line argument" to "the command-line argument". - p. 240: The first sentence on the page should start: "login really does more than we've described here" (not init). - p. 250: Halfway down the page: "Doing this causes the shell to place the job into the foreground process group (setpgid)"; replace setpgid with tcsetpgrp. - p. 273: Second paragraph under "Program Start-up": "With any of the shells" should be "With a non-job-control shell". - p. 279: Second paragraph: Change "Note also that longjmp and siglongjmp are not in Figure 10.3" to "POSIX.1 does not include longjmp and siglongjmp in Figure 10.3". - p. 281: Third indented paragraph at the top of the page: "either signal of sigset" should be "either signal or sigset". - p. 342: For PARMRK, add the sentence "If ISTRIP is not set, a valid \377 is passed to the process as \377, \377. - p. 550: Exercise 16.2: "that is was reading" should be "that it was reading". - p. 561: Remove the opening paren in the C comment at the top of the page. - p. 595: The "usage:" message generated at the beginning of the function should say "usage: call ". - p. 623: The second line after the #ifdef VSUSP should be a call to tty_reset(STDIN_FILENO) and not to tty_cbreak(STDIN_FILENO). - p. 719: The reference to page 143 for "access" should be removed. - p. 728: Add a reference to page 342 for ISTRIP. - p. 737: Remove the reference to page 250 for setpgid. - p. 741: Add a reference to page 250 for tcsetpgrp. - p. 742: The reference to p. 623 for tty_cbreak should be removed and a reference to p. 623 should be added for tty_reset. - p. 742: The reference to UCHAR_MIN should be deleted.