Thanks for the tip on timeradd. Does timeradd "normalize" the values given to it? I'm not sure if it is there to add two struct timevals in a safe way, or if it should be used to initialize a struct timeval by adding one initialized to zero to another which is initialized to the intended final value?