| 50 | }; |
| 51 | |
| 52 | int format_http_date(char buf[], size_t size, time_t when) { |
| 53 | struct tm tms; |
| 54 | GmTimeR(&when, &tms); |
| 55 | |
| 56 | #ifndef HTTP_DATE_ISO_8601 |
| 57 | return snprintf(buf, size, "%s, %02d %s %04d %02d:%02d:%02d GMT", |
| 58 | wkdays[tms.tm_wday], tms.tm_mday, months[tms.tm_mon], |
| 59 | tms.tm_year + 1900, tms.tm_hour, tms.tm_min, tms.tm_sec); |
| 60 | #else /* ISO 8601 */ |
| 61 | return snprintf(buf, size, "%04d%02d%02dT%02d%02d%02d+0000", |
| 62 | tms.tm_year + 1900, tms.tm_mon + 1, tms.tm_mday, |
| 63 | tms.tm_hour, tms.tm_min, tms.tm_sec); |
| 64 | #endif |
| 65 | } |
| 66 | |
| 67 | char* format_http_date(time_t when, char* buf, size_t buflen) { |
| 68 | const int len = format_http_date(buf, buflen, when); |
no test coverage detected