details: https://hg.nginx.org/njs/rev/5c22e2f006fe branches: changeset: 1166:5c22e2f006fe user: Valentin Bartenev <vb...@nginx.com> date: Fri Sep 27 22:21:55 2019 +0300 description: Date.prototype.toUTCString() format was aligned to ES9.
This closes #224 issue on GitHub. diffstat: src/njs_date.c | 12 +++++++----- src/test/njs_unit_test.c | 4 ++-- 2 files changed, 9 insertions(+), 7 deletions(-) diffs (57 lines): diff -r f516c8332495 -r 5c22e2f006fe src/njs_date.c --- a/src/njs_date.c Thu Sep 19 10:19:02 2019 +0300 +++ b/src/njs_date.c Fri Sep 27 22:21:55 2019 +0300 @@ -14,7 +14,9 @@ * FreeBSD and MacOSX timegm() cannot handle years before 1900. */ -#define NJS_ISO_DATE_TIME_LEN sizeof("+001970-09-28T12:00:00.000Z") +#define NJS_ISO_DATE_TIME_LEN sizeof("+001970-09-28T12:00:00.000Z") + +#define NJS_HTTP_DATE_TIME_LEN sizeof("Mon, 28 Sep 1970 12:00:00 GMT") #define NJS_DATE_TIME_LEN \ sizeof("Mon Sep 28 1970 12:00:00 GMT+0600 (XXXXX)") @@ -1009,7 +1011,7 @@ njs_date_prototype_to_utc_string(njs_vm_ { double time; time_t clock; - u_char buf[NJS_DATE_TIME_LEN], *p; + u_char buf[NJS_HTTP_DATE_TIME_LEN], *p; struct tm tm; static const char *week[] = { "Sun", "Mon", "Tue", "Wed", @@ -1024,9 +1026,9 @@ njs_date_prototype_to_utc_string(njs_vm_ clock = time / 1000; gmtime_r(&clock, &tm); - p = njs_sprintf(buf, buf + NJS_DATE_TIME_LEN, - "%s %s %02d %4d %02d:%02d:%02d GMT", - week[tm.tm_wday], month[tm.tm_mon], tm.tm_mday, + p = njs_sprintf(buf, buf + NJS_HTTP_DATE_TIME_LEN, + "%s, %02d %s %4d %02d:%02d:%02d GMT", + week[tm.tm_wday], tm.tm_mday, month[tm.tm_mon], tm.tm_year + 1900, tm.tm_hour, tm.tm_min, tm.tm_sec); return njs_string_new(vm, &vm->retval, buf, p - buf, p - buf); diff -r f516c8332495 -r 5c22e2f006fe src/test/njs_unit_test.c --- a/src/test/njs_unit_test.c Thu Sep 19 10:19:02 2019 +0300 +++ b/src/test/njs_unit_test.c Fri Sep 27 22:21:55 2019 +0300 @@ -11323,7 +11323,7 @@ static njs_unit_test_t njs_test[] = njs_str("18:45:00 GMT+0000") }, { njs_str("var d = new Date(2011, 5, 24, 18, 45); d.toUTCString()"), - njs_str("Fri Jun 24 2011 18:45:00 GMT") }, + njs_str("Fri, 24 Jun 2011 18:45:00 GMT") }, { njs_str("var d = new Date(2011, 5, 24, 18, 45, 12, 625);" "d.toISOString()"), @@ -14074,7 +14074,7 @@ static njs_unit_test_t njs_tz_test[] = njs_str("18:45:00 GMT+1245") }, { njs_str("var d = new Date(2011, 5, 24, 18, 45); d.toUTCString()"), - njs_str("Fri Jun 24 2011 06:00:00 GMT") }, + njs_str("Fri, 24 Jun 2011 06:00:00 GMT") }, { njs_str("var d = new Date(2011, 5, 24, 18, 45, 12, 625);" "d.toISOString()"), _______________________________________________ nginx-devel mailing list nginx-devel@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-devel