+static char *
+secs_to_human_time (double secs_decimal)
+{
+ static char buf[32];
+ int secs = (int) (secs_decimal + 0.5);
+ int hours, mins, days;
+
+ days = secs / 86400, secs %= 86400;
+ hours = secs / 3600, secs %= 3600;
+ mins = secs / 60, secs %= 60;
+
+ if (days)
+ sprintf (buf, _("%dd %dh %dm %ds"), days, hours, mins, secs);
+ else if (hours)
+ sprintf (buf, _("%dh %dm %ds"), hours, mins, secs);
+ else if (mins)
+ sprintf (buf, _("%dm %ds"), mins, secs);
+ else if (secs_decimal >= 1)
+ sprintf (buf, _("%ds"), secs);
+ else
+ sprintf (buf, _("%.2fs"), secs_decimal);
+
+ return buf;
+}
+