common/time_utils.h and timeutils.c :
    A new function, timespec_diff2() that does not require that the first
    time is greater than the second. 

chapter07/scandir_demo.c :
  Fixed a minor bug and updated the documentation.

chapter09/progress_bar2.c :
  Moved call to draw the initial progress bar to after the signal handlers 
  are set up.

chapter09/posix_timer_demo1.c :  
  Fixed preamble

chapter09/posix_timer_demo1b.c :  
  Created this file to sho alternative to posix_timer_demo1.c that doesn't
  depend on timer IDs starting at 0.

chapter11/fork_demo4.c :
  Changed the number of children to 3 since the book's
  example was based on 3 children.

chapter12/mqsend_demo.c : 
  Inserted call to close message queue before the call to
  fatal_error(), and removed code after while loop.

chapter12/ulogger.c :
  Put parentheses around the macro value SIGRTMIN+1.

chapter12:
  Included winsize.c in the repository.

chapter14 :
  Renamed the files calc_server.c and calc_client.c to spl_calc_server.c
  and spl_calc_client.c to be consistent with the book.
  Modified the makefile accordingly.

chapter15/pthread_signal_demo.c
  Increased sleep time.

chapter16 :
  Modified pthread_prodcons.c so that the numbers of consumers and
  producers cannot be zero. (Replaced NON_NEG_ONLY flag by POS_ONLY flag
  in calls to get_int().)
 
  Added a new demo, pthread_bcast_demo.c, that shows how condition variables
  can be used to simulate thread barriers.

chapter17/README :
  Added a note about the fact that the programs in this chapter have no
  signal handling for job-control errors.

chapter18/Makefile :
  Removed a program from the Makefile that had been renamed.

chapters 3,5,6,9,16 :
  The main() functions in some programs declared the variable that stores
  the return value of getopt() as a char. In some compilers, char is unsigned
  causing an infinite loop in option-processing. The type was changed to int
  to prevent this.

chapter 3 :
  Replaced showdate3 by testspl_date3 in the script commands.
