Skip to content

Commit 8e282a3

Browse files
committed
Duration: use ffStrbufAppendUInt
1 parent dcbf76b commit 8e282a3

File tree

1 file changed

+27
-32
lines changed

1 file changed

+27
-32
lines changed

src/common/duration.c

Lines changed: 27 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,13 @@ void ffDurationAppendNum(uint64_t totalSeconds, FFstrbuf* result)
44
{
55
const FFOptionsDisplay* options = &instance.config.display;
66

7-
const char* space = instance.config.display.durationSpaceBeforeUnit != FF_SPACE_BEFORE_UNIT_NEVER ? " " : "";
7+
bool spaceBeforeUnit = options->durationSpaceBeforeUnit != FF_SPACE_BEFORE_UNIT_NEVER;
88

9-
if(totalSeconds < 60)
9+
if (totalSeconds < 60)
1010
{
11-
ffStrbufAppendF(result, options->durationAbbreviation ? "%u%ssec" : "%u%ssecond", (unsigned) totalSeconds, space);
11+
ffStrbufAppendUInt(result, totalSeconds);
12+
if (spaceBeforeUnit) ffStrbufAppendC(result, ' ');
13+
ffStrbufAppendS(result, options->durationAbbreviation ? "sec" : "second");
1214
if (totalSeconds != 1)
1315
ffStrbufAppendC(result, 's');
1416
return;
@@ -25,63 +27,56 @@ void ffDurationAppendNum(uint64_t totalSeconds, FFstrbuf* result)
2527
totalSeconds /= 24;
2628
uint32_t days = (uint32_t) totalSeconds;
2729

28-
if(days > 0)
30+
if (days > 0)
2931
{
30-
if(options->durationAbbreviation)
32+
ffStrbufAppendUInt(result, days);
33+
if (spaceBeforeUnit) ffStrbufAppendC(result, ' ');
34+
if (options->durationAbbreviation)
3135
{
32-
ffStrbufAppendF(result, "%u%sd", days, space);
36+
ffStrbufAppendC(result, 'd');
3337

34-
if(hours > 0 || minutes > 0)
38+
if (hours > 0 || minutes > 0)
3539
ffStrbufAppendC(result, ' ');
3640
}
3741
else
3842
{
39-
ffStrbufAppendF(result, "%u%sday", days, space);
43+
ffStrbufAppendS(result, days == 1 ? "day" : "days");
4044

41-
if(days > 1)
42-
ffStrbufAppendC(result, 's');
43-
44-
if(days >= 100)
45+
if (days >= 100)
4546
ffStrbufAppendS(result, "(!)");
4647

47-
if(hours > 0 || minutes > 0)
48+
if (hours > 0 || minutes > 0)
4849
ffStrbufAppendS(result, ", ");
4950
}
5051
}
5152

52-
if(hours > 0)
53+
if (hours > 0)
5354
{
54-
if(options->durationAbbreviation)
55+
ffStrbufAppendUInt(result, hours);
56+
if (spaceBeforeUnit) ffStrbufAppendC(result, ' ');
57+
if (options->durationAbbreviation)
5558
{
56-
ffStrbufAppendF(result, "%u%sh", hours, space);
59+
ffStrbufAppendC(result, 'h');
5760

5861
if (minutes > 0)
5962
ffStrbufAppendC(result, ' ');
6063
}
6164
else
6265
{
63-
ffStrbufAppendF(result, "%u%shour", hours, space);
64-
65-
if(hours > 1)
66-
ffStrbufAppendC(result, 's');
66+
ffStrbufAppendS(result, hours == 1 ? "hour" : "hours");
6767

68-
if(minutes > 0)
68+
if (minutes > 0)
6969
ffStrbufAppendS(result, ", ");
7070
}
7171
}
7272

73-
if(minutes > 0)
73+
if (minutes > 0)
7474
{
75-
if(options->durationAbbreviation)
76-
{
77-
ffStrbufAppendF(result, "%u%sm", minutes, space);
78-
}
75+
ffStrbufAppendUInt(result, minutes);
76+
if (spaceBeforeUnit) ffStrbufAppendC(result, ' ');
77+
if (options->durationAbbreviation)
78+
ffStrbufAppendC(result, 'm');
7979
else
80-
{
81-
ffStrbufAppendF(result, "%u%smin", minutes, space);
82-
83-
if(minutes > 1)
84-
ffStrbufAppendC(result, 's');
85-
}
80+
ffStrbufAppendS(result, minutes == 1 ? "min" : "mins");
8681
}
8782
}

0 commit comments

Comments
 (0)