summaryrefslogtreecommitdiff
path: root/quotasys.c
diff options
context:
space:
mode:
authorjkar8572 <jkar8572>2001-09-17 12:24:57 +0000
committerjkar8572 <jkar8572>2001-09-17 12:24:57 +0000
commit69b5dba726282c1f101ae97081a5694467b3da09 (patch)
tree16da3b149afab08572f0f95c66398af897e9bbcf /quotasys.c
parentbc29c71483ec63ef61b3eb3cb3ebd8eefc7c03e5 (diff)
Fixed editting of small grace times (reported by Alexander V. Sulima)
Diffstat (limited to 'quotasys.c')
-rw-r--r--quotasys.c24
1 files changed, 16 insertions, 8 deletions
diff --git a/quotasys.c b/quotasys.c
index 998cc0b..b76cf23 100644
--- a/quotasys.c
+++ b/quotasys.c
@@ -189,22 +189,30 @@ void time2str(time_t seconds, char *buf, int flags)
{
uint minutes, hours, days;
- minutes = (seconds + 30) / 60; /* Rounding */
- hours = minutes / 60;
- minutes %= 60;
- days = hours / 24;
- hours %= 24;
if (flags & TF_ROUND) {
+ minutes = (seconds + 30) / 60; /* Rounding */
+ hours = minutes / 60;
+ minutes %= 60;
+ days = hours / 24;
+ hours %= 24;
if (days >= 2)
snprintf(buf, MAXTIMELEN, _("%ddays"), days);
else
snprintf(buf, MAXTIMELEN, _("%02d:%02d"), hours + days * 24, minutes);
}
else {
- if (minutes || (!minutes && !hours && !days))
- snprintf(buf, MAXTIMELEN, _("%uminutes"), (uint) (seconds + 30) / 60);
+ minutes = seconds / 60;
+ seconds %= 60;
+ hours = minutes / 60;
+ minutes %= 60;
+ days = hours / 24;
+ hours %= 24;
+ if (seconds || (!minutes && !hours && !days))
+ snprintf(buf, MAXTIMELEN, _("%useconds"), (uint)(seconds+minutes*60+hours*3600+days*3600*24));
+ else if (minutes)
+ snprintf(buf, MAXTIMELEN, _("%uminutes"), (uint)(minutes+hours*60+days*60*24));
else if (hours)
- snprintf(buf, MAXTIMELEN, _("%uhours"), hours + days * 24);
+ snprintf(buf, MAXTIMELEN, _("%uhours"), (uint)(hours+days*24));
else
snprintf(buf, MAXTIMELEN, _("%udays"), days);
}