[systemd-devel] [PATCH v5 2/4] util: introduce new sec_to_stringa()
WaLyong Cho
walyong.cho at samsung.com
Mon Dec 8 06:58:37 PST 2014
On 12/08/2014 11:41 PM, Lennart Poettering wrote:
> On Mon, 08.12.14 21:18, WaLyong Cho (walyong.cho at samsung.com) wrote:
>
>> +int sec_to_stringa(const char *t, usec_t usec, const char **time) {
>> + static const struct {
>> + const char *suffix;
>> + usec_t usec;
>> + } table[] = {
>> + { "seconds", USEC_PER_SEC },
>> + { "second", USEC_PER_SEC },
>> + { "sec", USEC_PER_SEC },
>> + { "s", USEC_PER_SEC },
>> + { "minutes", USEC_PER_MINUTE },
>> + { "minute", USEC_PER_MINUTE },
>> + { "min", USEC_PER_MINUTE },
>> + { "months", USEC_PER_MONTH },
>> + { "month", USEC_PER_MONTH },
>> + { "msec", USEC_PER_MSEC },
>> + { "ms", USEC_PER_MSEC },
>> + { "m", USEC_PER_MINUTE },
>> + { "hours", USEC_PER_HOUR },
>> + { "hour", USEC_PER_HOUR },
>> + { "hr", USEC_PER_HOUR },
>> + { "h", USEC_PER_HOUR },
>> + { "days", USEC_PER_DAY },
>> + { "day", USEC_PER_DAY },
>> + { "d", USEC_PER_DAY },
>> + { "weeks", USEC_PER_WEEK },
>> + { "week", USEC_PER_WEEK },
>> + { "w", USEC_PER_WEEK },
>> + { "years", USEC_PER_YEAR },
>> + { "year", USEC_PER_YEAR },
>> + { "y", USEC_PER_YEAR },
>> + { "usec", 1ULL },
>> + { "us", 1ULL },
>> + { "", USEC_PER_SEC }, /* default is sec */
>> + };
>> +
>> + char *s = NULL;
>> + unsigned i;
>> +
>> + for (i = 0; i < ELEMENTSOF(table); i++) {
>> + if (streq(t, table[i].suffix)) {
>> + if (asprintf(&s, "%g%s", ((double) usec)/table[i].usec, t) < 0)
>> + return -ENOMEM;
>> +
>> + *time = s;
>> +
>> + return 0;
>> + }
>> + }
>> +
>> + return -EINVAL;
>> +}
>
> Why this call? format_timespan() already does this, no?
>
I didn't know that. I will send change.
Thanks,
WaLyong
>
> Lennart
>
More information about the systemd-devel
mailing list