Skip to content

Commit f7d1b4b

Browse files
committed
Merge pull request #339
2 parents 7e4294f + 0d0b14b commit f7d1b4b

File tree

3 files changed

+13
-22
lines changed

3 files changed

+13
-22
lines changed

php_phongo.c

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2068,25 +2068,6 @@ void php_phongo_new_utcdatetime_from_epoch(zval *object, int64_t msec_since_epoc
20682068
intern->milliseconds = msec_since_epoch;
20692069
} /* }}} */
20702070

2071-
void php_phongo_new_datetime_from_utcdatetime(zval *object, int64_t milliseconds TSRMLS_DC) /* {{{ */
2072-
{
2073-
php_date_obj *datetime_obj;
2074-
char *sec;
2075-
int sec_len;
2076-
2077-
object_init_ex(object, php_date_get_date_ce());
2078-
2079-
#ifdef WIN32
2080-
sec_len = spprintf(&sec, 0, "@%I64d", (int64_t) milliseconds / 1000);
2081-
#else
2082-
sec_len = spprintf(&sec, 0, "@%lld", (long long int) milliseconds / 1000);
2083-
#endif
2084-
2085-
datetime_obj = Z_PHPDATE_P(object);
2086-
php_date_initialize(datetime_obj, sec, sec_len, NULL, NULL, 0 TSRMLS_CC);
2087-
efree(sec);
2088-
datetime_obj->time->f = (double) (milliseconds % 1000) / 1000;
2089-
} /* }}} */
20902071
void php_phongo_new_timestamp_from_increment_and_timestamp(zval *object, uint32_t increment, uint32_t timestamp TSRMLS_DC) /* {{{ */
20912072
{
20922073
php_phongo_timestamp_t *intern;

php_phongo.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,6 @@ bool phongo_manager_init(php_phongo_manager_t *manager, const char *uri_string,
140140
void php_phongo_objectid_new_from_oid(zval *object, const bson_oid_t *oid TSRMLS_DC);
141141
void php_phongo_cursor_id_new_from_id(zval *object, int64_t cursorid TSRMLS_DC);
142142
void php_phongo_new_utcdatetime_from_epoch(zval *object, int64_t msec_since_epoch TSRMLS_DC);
143-
void php_phongo_new_datetime_from_utcdatetime(zval *object, int64_t milliseconds TSRMLS_DC);
144143
void php_phongo_new_timestamp_from_increment_and_timestamp(zval *object, uint32_t increment, uint32_t timestamp TSRMLS_DC);
145144
void php_phongo_new_javascript_from_javascript(int init, zval *object, const char *code, size_t code_len TSRMLS_DC);
146145
void php_phongo_new_javascript_from_javascript_and_scope(int init, zval *object, const char *code, size_t code_len, const bson_t *scope TSRMLS_DC);

src/BSON/UTCDateTime.c

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
#include <ext/standard/info.h>
3535
#include <Zend/zend_interfaces.h>
3636
#include <ext/spl/spl_iterators.h>
37+
#include <ext/date/php_date.h>
3738
/* Our Compatability header */
3839
#include "phongo_compat.h"
3940

@@ -112,7 +113,10 @@ PHP_METHOD(UTCDateTime, __toString)
112113
Returns DateTime object representing this UTCDateTime */
113114
PHP_METHOD(UTCDateTime, toDateTime)
114115
{
115-
php_phongo_utcdatetime_t *intern;
116+
php_phongo_utcdatetime_t *intern;
117+
php_date_obj *datetime_obj;
118+
char *sec;
119+
size_t sec_len;
116120

117121

118122
intern = Z_UTCDATETIME_OBJ_P(getThis());
@@ -121,7 +125,14 @@ PHP_METHOD(UTCDateTime, toDateTime)
121125
return;
122126
}
123127

124-
php_phongo_new_datetime_from_utcdatetime(return_value, intern->milliseconds TSRMLS_CC);
128+
object_init_ex(return_value, php_date_get_date_ce());
129+
datetime_obj = Z_PHPDATE_P(return_value);
130+
131+
sec_len = spprintf(&sec, 0, "@%" PRId64, intern->milliseconds / 1000);
132+
php_date_initialize(datetime_obj, sec, sec_len, NULL, NULL, 0 TSRMLS_CC);
133+
efree(sec);
134+
135+
datetime_obj->time->f = (double) (intern->milliseconds % 1000) / 1000;
125136
}
126137
/* }}} */
127138

0 commit comments

Comments
 (0)