epee: fallback to a counter if gmtime fails when rotating logs

This commit is contained in:
moneromooo-monero 2018-05-26 23:38:08 +01:00
parent 505fde2e09
commit 9c2f09df51
No known key found for this signature in database
GPG key ID: 686F07454D6CEFC3

View file

@ -47,6 +47,7 @@ using namespace epee;
static std::string generate_log_filename(const char *base)
{
std::string filename(base);
static unsigned int fallback_counter = 0;
char tmp[200];
struct tm tm;
time_t now = time(NULL);
@ -56,7 +57,7 @@ static std::string generate_log_filename(const char *base)
#else
(!gmtime_r(&now, &tm))
#endif
strcpy(tmp, "unknown");
snprintf(tmp, sizeof(tmp), "part-%u", ++fallback_counter);
else
strftime(tmp, sizeof(tmp), "%Y-%m-%d-%H-%M-%S", &tm);
tmp[sizeof(tmp) - 1] = 0;