From: Valentin Bartenev Date: Fri, 27 Sep 2019 19:21:55 +0000 (+0300) Subject: Date.prototype.toUTCString() format was aligned to ES9. X-Git-Url: http://git.kaiwu.me/postgresql/log/contrib/postgres_fdw/%7B@url%7D?a=commitdiff_plain;h=9a63c0c459b76a8c56916c00894c179d6f08805a;p=njs.git Date.prototype.toUTCString() format was aligned to ES9. This closes #224 issue on GitHub. --- diff --git a/src/njs_date.c b/src/njs_date.c index 29f2eef5..d2bcf286 100644 --- a/src/njs_date.c +++ b/src/njs_date.c @@ -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_t *vm, njs_value_t *args, { 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_t *vm, njs_value_t *args, 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 --git a/src/test/njs_unit_test.c b/src/test/njs_unit_test.c index 9f156afc..1e972a3e 100644 --- a/src/test/njs_unit_test.c +++ b/src/test/njs_unit_test.c @@ -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()"),