Skip to content

Commit 658fd8f

Browse files
committed
Merge branch 'v1.1'
2 parents ceb506d + f7d1b4b commit 658fd8f

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
@@ -2039,25 +2039,6 @@ void php_phongo_new_utcdatetime_from_epoch(zval *object, int64_t msec_since_epoc
20392039
intern->milliseconds = msec_since_epoch;
20402040
} /* }}} */
20412041

2042-
void php_phongo_new_datetime_from_utcdatetime(zval *object, int64_t milliseconds TSRMLS_DC) /* {{{ */
2043-
{
2044-
php_date_obj *datetime_obj;
2045-
char *sec;
2046-
int sec_len;
2047-
2048-
object_init_ex(object, php_date_get_date_ce());
2049-
2050-
#ifdef WIN32
2051-
sec_len = spprintf(&sec, 0, "@%I64d", (int64_t) milliseconds / 1000);
2052-
#else
2053-
sec_len = spprintf(&sec, 0, "@%lld", (long long int) milliseconds / 1000);
2054-
#endif
2055-
2056-
datetime_obj = Z_PHPDATE_P(object);
2057-
php_date_initialize(datetime_obj, sec, sec_len, NULL, NULL, 0 TSRMLS_CC);
2058-
efree(sec);
2059-
datetime_obj->time->f = (double) (milliseconds % 1000) / 1000;
2060-
} /* }}} */
20612042
void php_phongo_new_timestamp_from_increment_and_timestamp(zval *object, uint32_t increment, uint32_t timestamp TSRMLS_DC) /* {{{ */
20622043
{
20632044
php_phongo_timestamp_t *intern;

php_phongo.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,6 @@ bool phongo_manager_init(php_phongo_manager_t *manager, const char *uri_string,
163163
void php_phongo_objectid_new_from_oid(zval *object, const bson_oid_t *oid TSRMLS_DC);
164164
void php_phongo_cursor_id_new_from_id(zval *object, int64_t cursorid TSRMLS_DC);
165165
void php_phongo_new_utcdatetime_from_epoch(zval *object, int64_t msec_since_epoch TSRMLS_DC);
166-
void php_phongo_new_datetime_from_utcdatetime(zval *object, int64_t milliseconds TSRMLS_DC);
167166
void php_phongo_new_timestamp_from_increment_and_timestamp(zval *object, uint32_t increment, uint32_t timestamp TSRMLS_DC);
168167
void php_phongo_new_javascript_from_javascript(int init, zval *object, const char *code, size_t code_len TSRMLS_DC);
169168
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)