Set time locale to POSIX in rfc1123Time so weekday/months in http responses are correct.

This commit is contained in:
Gavin Andresen 2011-04-13 15:06:48 -04:00
parent b37f09aa2e
commit 9ff411f7f7
1 changed files with 4 additions and 1 deletions

View File

@ -1498,7 +1498,10 @@ string rfc1123Time()
time_t now;
time(&now);
struct tm* now_gmt = gmtime(&now);
strftime(buffer, sizeof(buffer), "%a, %d %b %Y %H:%M:%S %Z", now_gmt);
string locale(setlocale(LC_TIME, NULL));
setlocale(LC_TIME, "C"); // we want posix (aka "C") weekday/month strings
strftime(buffer, sizeof(buffer), "%a, %d %b %Y %H:%M:%S +0000", now_gmt);
setlocale(LC_TIME, locale.c_str());
return string(buffer);
}