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()
|