Julian Brost e65827cd58 Utility::FormatDateTime(): handle errors from strftime()
So far, the return value of strftime() was simply ignored and the output buffer
passed to the icinga::String constructor. However, there are error conditions
where strftime() returns 0 to signal an error, like if the buffer was too small
for the output. In that case, there's no guarantee on the buffer contents and
reading it can result in undefined behavior. Unfortunately, returning 0 can
also indicate success and strftime() doesn't set errno, so there's no reliable
way to distinguish both situations. Thus, the implementation now returns the
empty string in both cases.

I attempted to use std::put_time() at first as that allows for better error
handling, however, there were problems with the implementation on Windows (see
inline comment), so I put that plan on hold at left strftime() there for the
time being.
2024-09-23 10:47:20 +02:00
..
2023-02-15 16:25:39 +01:00
2022-08-01 17:56:37 +02:00
2019-05-24 16:25:32 +02:00
2021-02-03 09:54:57 +01:00
2019-11-08 11:13:26 +01:00
2020-12-25 23:27:08 +01:00
2021-02-03 09:54:57 +01:00
2021-02-03 09:54:57 +01:00
2021-02-03 09:54:57 +01:00
2021-02-03 09:54:57 +01:00
2021-02-03 09:54:57 +01:00