>>> Arian van Putten <[email protected]> schrieb am 26.10.2021 um 10:41 
>>> in
Nachricht
<cae0h1269nswdogjc9bkmrrc2dtvjxzvhnzkzcpcqfvddfyg...@mail.gmail.com>:
> Hey list,
> 
> I'm reading the https://systemd.io/USER_RECORD/ spec and I have a question
> 
> There are some fields in the USER_RECORD spec which are described as
> "unsigned 64 bit integer values".   Specifically the fields describing
> time.
> 
> However JSON lacks integers and only has doubles [0]; which would mean 53

That's nonsense: JSON _has_ integers, but they are restricted (See: 6.  Numbers 
in RFC 7159)

int = zero / ( digit1-9 *DIGIT )

That was some stupid design decision IMHO.

> bit integer precision is about the maximum we can reach.  It's unclear to

The RFC mentions "IEEE 754-2008 binary64 (double precision) numbers"

> me from the spec whether I should use doubles to encode these fields or use
> strings.  Would it be possible to further clarify it?   If it is indeed a
> number literal; this means the maximum date we can encode is
> 9007199254740991 which corresponds to Tuesday, June 5, 2255   . This
> honestly is too soon in the future for my comfort.  I suggest encoding 64
> bit integers as string literals instead to avoid the truncation problem.
> 
> [0] https://datatracker.ietf.org/doc/html/rfc7159#section-6 




Reply via email to