From f1ec1216bfae00f431d0a807b40d9cf3c83796e6 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Wed, 23 Aug 2017 17:12:08 +0200 Subject: add patch for upcoming PHP 7.2.0RC1 and new timelib --- mongodb-pr633.patch | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 mongodb-pr633.patch (limited to 'mongodb-pr633.patch') diff --git a/mongodb-pr633.patch b/mongodb-pr633.patch new file mode 100644 index 0000000..61d019c --- /dev/null +++ b/mongodb-pr633.patch @@ -0,0 +1,40 @@ +Adapted from + +From ec7463a77b643f533b19079147a952a0d2dd21e3 Mon Sep 17 00:00:00 2001 +From: Derick Rethans +Date: Wed, 16 Aug 2017 10:31:18 +0100 +Subject: [PATCH 1/2] PHPC-997: Handle changes in field names in timelib + 2017.05beta7 + +--- + src/BSON/UTCDateTime.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/src/BSON/UTCDateTime.c b/src/BSON/UTCDateTime.c +index 7f08285f..11055565 100644 +--- a/src/BSON/UTCDateTime.c ++++ b/src/BSON/UTCDateTime.c +@@ -128,7 +128,11 @@ static bool php_phongo_utcdatetime_init_ + + /* The following assignments use the same logic as date_format() in php_date.c */ + sec = datetime_obj->time->sse; ++#if PHP_VERSION_ID >= 70200 ++ usec = (int64_t) floor(datetime_obj->time->us); ++#else + usec = (int64_t) floor(datetime_obj->time->f * 1000000 + 0.5); ++#endif + + intern->milliseconds = (sec * 1000) + (usec / 1000); + intern->initialized = true; +@@ -256,7 +260,11 @@ static PHP_METHOD(UTCDateTime, toDateTim + php_date_initialize(datetime_obj, sec, sec_len, NULL, NULL, 0 TSRMLS_CC); + efree(sec); + ++#if PHP_VERSION_ID >= 70200 ++ datetime_obj->time->us = (intern->milliseconds % 1000) * 1000; ++#else + datetime_obj->time->f = (double) (intern->milliseconds % 1000) / 1000; ++#endif + } /* }}} */ + + /* {{{ proto array MongoDB\BSON\UTCDateTime::jsonSerialize() -- cgit