blob: 18b8090bde36ac494f5ae3e14caf8cdb48798971 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
/* See LICENSE file for copyright and license details. */
#include "common.h"
size_t
libpatch_create_timestamp_frac_string(char *buf, size_t bufsize, const struct tm *tm,
const char *frac, int zone, enum libpatch_style style)
{
uintmax_t subseconds = 0, digit;
unsigned decimals = 0;
if (frac) {
for (;; frac++) {
digit = (uintmax_t)*frac - (uintmax_t)'0';
if (digit > 9 || subseconds > (UINTMAX_MAX - digit) / 10U)
break;
subseconds = subseconds * 10U + digit;
decimals += 1;
}
}
return libpatch_create_timestamp(buf, bufsize, tm, subseconds, decimals, decimals, zone, style);
}
|