/*
 * call-seq:
 *    Uptime.dhms
 *
 * Calculates and returns the number of days, hours, minutes and
 * seconds the system has been running as a four-element Array.
 */
static VALUE uptime_dhms()
{
   VALUE a = rb_ary_new2(4);
   long s, m, h, d;

   s = get_uptime_secs();
   d =  s                / (24*60*60);
   h = (s -= d*24*60*60) / (   60*60);
   m = (s -= h*   60*60) /        60;
   s      -= m*      60;

   rb_ary_push(a, INT2FIX(d));
   rb_ary_push(a, INT2FIX(h));
   rb_ary_push(a, INT2FIX(m));
   rb_ary_push(a, INT2FIX(s));

   return a;
}