summaryrefslogtreecommitdiffstats
path: root/mongodb-pr633.patch
blob: 61d019ce2f85710def8c501af0ce06eb92292595 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Adapted from

From ec7463a77b643f533b19079147a952a0d2dd21e3 Mon Sep 17 00:00:00 2001
From: Derick Rethans <github@derickrethans.nl>
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()