title: Why does tm_sec range from 0-60 instead of 0-59 in time.h?
body: <p>My <code>time.h</code> has the following definition of <code>tm</code>:</p>
  
  <pre><code>struct tm {
      int tm_sec;     /* seconds after the minute [0-60] */
      int tm_min;     /* minutes after the hour [0-59] */
      int tm_hour;    /* hours since midnight [0-23] */
      ...
  }
  </code></pre>
  
  <p>I just noticed that they document <code>tm_sec</code> as ranging between <strong>0-60</strong> inclusive. I've always assumed it ranged from 0-59 just like <code>tm_min</code>. I've certainly never seen a clock read 10:37:60...</p>
  
  <p>Do you think this is just a documentation bug left over from this 90's era Berkley-originated file?</p>
  
  <p><strong>Or is there something more subtle going on that I'm unaware of?</strong></p>