/* * 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; }