summaryrefslogtreecommitdiff
path: root/ext/spl/spl_iterators.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/spl/spl_iterators.c')
-rwxr-xr-xext/spl/spl_iterators.c231
1 files changed, 230 insertions, 1 deletions
diff --git a/ext/spl/spl_iterators.c b/ext/spl/spl_iterators.c
index 7904662697..c33ea4187d 100755
--- a/ext/spl/spl_iterators.c
+++ b/ext/spl/spl_iterators.c
@@ -562,6 +562,10 @@ SPL_METHOD(RecursiveIteratorIterator, __construct)
SPL_METHOD(RecursiveIteratorIterator, rewind)
{
spl_recursive_it_object *object = (spl_recursive_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
+
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
spl_recursive_it_rewind_ex(object, getThis() TSRMLS_CC);
} /* }}} */
@@ -571,6 +575,10 @@ SPL_METHOD(RecursiveIteratorIterator, rewind)
SPL_METHOD(RecursiveIteratorIterator, valid)
{
spl_recursive_it_object *object = (spl_recursive_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
+
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
RETURN_BOOL(spl_recursive_it_valid_ex(object, getThis() TSRMLS_CC) == SUCCESS);
} /* }}} */
@@ -581,6 +589,10 @@ SPL_METHOD(RecursiveIteratorIterator, key)
{
spl_recursive_it_object *object = (spl_recursive_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
zend_object_iterator *iterator = object->iterators[object->level].iterator;
+
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
if (iterator->funcs->get_current_key) {
char *str_key;
@@ -609,6 +621,10 @@ SPL_METHOD(RecursiveIteratorIterator, current)
spl_recursive_it_object *object = (spl_recursive_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
zend_object_iterator *iterator = object->iterators[object->level].iterator;
zval **data;
+
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
iterator->funcs->get_current_data(iterator, &data TSRMLS_CC);
if (data && *data) {
@@ -621,6 +637,10 @@ SPL_METHOD(RecursiveIteratorIterator, current)
SPL_METHOD(RecursiveIteratorIterator, next)
{
spl_recursive_it_object *object = (spl_recursive_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
+
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
spl_recursive_it_move_forward_ex(object, getThis() TSRMLS_CC);
} /* }}} */
@@ -631,6 +651,10 @@ SPL_METHOD(RecursiveIteratorIterator, getDepth)
{
spl_recursive_it_object *object = (spl_recursive_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
+
RETURN_LONG(object->level);
} /* }}} */
@@ -657,6 +681,10 @@ SPL_METHOD(RecursiveIteratorIterator, getInnerIterator)
spl_recursive_it_object *object = (spl_recursive_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
long level = object->level;
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
+
RETURN_ZVAL(object->iterators[level].zobject, 1, 0);
} /* }}} */
@@ -664,6 +692,9 @@ SPL_METHOD(RecursiveIteratorIterator, getInnerIterator)
Called when iteration begins (after first rewind() call) */
SPL_METHOD(RecursiveIteratorIterator, beginIteration)
{
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
/* nothing to do */
} /* }}} */
@@ -671,6 +702,9 @@ SPL_METHOD(RecursiveIteratorIterator, beginIteration)
Called when iteration ends (when valid() first returns false */
SPL_METHOD(RecursiveIteratorIterator, endIteration)
{
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
/* nothing to do */
} /* }}} */
@@ -681,6 +715,10 @@ SPL_METHOD(RecursiveIteratorIterator, callHasChildren)
spl_recursive_it_object *object = (spl_recursive_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
zend_class_entry *ce = object->iterators[object->level].ce;
zval *retval, *zobject;
+
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
zobject = object->iterators[object->level].zobject;
if (!zobject) {
@@ -702,6 +740,10 @@ SPL_METHOD(RecursiveIteratorIterator, callGetChildren)
spl_recursive_it_object *object = (spl_recursive_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
zend_class_entry *ce = object->iterators[object->level].ce;
zval *retval, *zobject;
+
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
zobject = object->iterators[object->level].zobject;
if (!zobject) {
@@ -718,6 +760,9 @@ SPL_METHOD(RecursiveIteratorIterator, callGetChildren)
Called when recursing one level down */
SPL_METHOD(RecursiveIteratorIterator, beginChildren)
{
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
/* nothing to do */
} /* }}} */
@@ -725,6 +770,9 @@ SPL_METHOD(RecursiveIteratorIterator, beginChildren)
Called when end recursing one level */
SPL_METHOD(RecursiveIteratorIterator, endChildren)
{
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
/* nothing to do */
} /* }}} */
@@ -732,6 +780,9 @@ SPL_METHOD(RecursiveIteratorIterator, endChildren)
Called when the next element is available */
SPL_METHOD(RecursiveIteratorIterator, nextElement)
{
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
/* nothing to do */
} /* }}} */
@@ -758,6 +809,10 @@ SPL_METHOD(RecursiveIteratorIterator, getMaxDepth)
{
spl_recursive_it_object *object = (spl_recursive_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
+
if (object->max_depth == -1) {
RETURN_FALSE;
} else {
@@ -972,7 +1027,7 @@ SPL_METHOD(RecursiveTreeIterator, __construct)
spl_recursive_it_it_construct(INTERNAL_FUNCTION_PARAM_PASSTHRU, spl_ce_RecursiveTreeIterator, zend_ce_iterator, RIT_RecursiveTreeIterator);
} /* }}} */
-/* {{{ proto void RecursiveTreeIterator::setPrefixPart() throws OutOfRangeException
+/* {{{ proto void RecursiveTreeIterator::setPrefixPart(int part, string prefix) throws OutOfRangeException
Sets prefix parts as used in getPrefix() */
SPL_METHOD(RecursiveTreeIterator, setPrefixPart)
{
@@ -999,6 +1054,9 @@ SPL_METHOD(RecursiveTreeIterator, getPrefix)
{
spl_recursive_it_object *object = (spl_recursive_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
spl_recursive_tree_iterator_get_prefix(object, return_value TSRMLS_CC);
} /* }}} */
@@ -1008,6 +1066,10 @@ SPL_METHOD(RecursiveTreeIterator, getEntry)
{
spl_recursive_it_object *object = (spl_recursive_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
+
spl_recursive_tree_iterator_get_entry(object, return_value TSRMLS_CC);
} /* }}} */
@@ -1017,6 +1079,10 @@ SPL_METHOD(RecursiveTreeIterator, getPostfix)
{
spl_recursive_it_object *object = (spl_recursive_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
+
spl_recursive_tree_iterator_get_postfix(object, return_value TSRMLS_CC);
} /* }}} */
@@ -1028,6 +1094,10 @@ SPL_METHOD(RecursiveTreeIterator, current)
zval prefix, entry, postfix;
char *str, *ptr;
size_t str_len;
+
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
if (object->flags & RTIT_BYPASS_CURRENT) {
zend_object_iterator *iterator = object->iterators[object->level].iterator;
@@ -1073,6 +1143,10 @@ SPL_METHOD(RecursiveTreeIterator, key)
zval prefix, key, postfix, key_copy;
char *str, *ptr;
size_t str_len;
+
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
if (iterator->funcs->get_current_key) {
char *str_key;
@@ -1439,6 +1513,10 @@ SPL_METHOD(dual_it, getInnerIterator)
spl_dual_it_object *intern;
intern = (spl_dual_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
+
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
if (intern->inner.zobject) {
RETVAL_ZVAL(intern->inner.zobject, 1, 0);
@@ -1539,6 +1617,11 @@ SPL_METHOD(dual_it, rewind)
spl_dual_it_object *intern;
intern = (spl_dual_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
+
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
+
spl_dual_it_rewind(intern TSRMLS_CC);
spl_dual_it_fetch(intern, 1 TSRMLS_CC);
} /* }}} */
@@ -1552,6 +1635,10 @@ SPL_METHOD(dual_it, valid)
{
spl_dual_it_object *intern;
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
+
intern = (spl_dual_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
RETURN_BOOL(intern->current.data);
@@ -1569,6 +1656,10 @@ SPL_METHOD(dual_it, key)
{
spl_dual_it_object *intern;
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
+
intern = (spl_dual_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
if (intern->current.data) {
@@ -1592,6 +1683,10 @@ SPL_METHOD(dual_it, key)
SPL_METHOD(dual_it, current)
{
spl_dual_it_object *intern;
+
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
intern = (spl_dual_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
@@ -1609,6 +1704,10 @@ SPL_METHOD(dual_it, current)
SPL_METHOD(dual_it, next)
{
spl_dual_it_object *intern;
+
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
intern = (spl_dual_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
@@ -1654,6 +1753,10 @@ static inline void spl_filter_it_next(zval *zthis, spl_dual_it_object *intern TS
SPL_METHOD(FilterIterator, rewind)
{
spl_dual_it_object *intern;
+
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
intern = (spl_dual_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
spl_filter_it_rewind(getThis(), intern TSRMLS_CC);
@@ -1664,6 +1767,10 @@ SPL_METHOD(FilterIterator, rewind)
SPL_METHOD(FilterIterator, next)
{
spl_dual_it_object *intern;
+
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
intern = (spl_dual_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
spl_filter_it_next(getThis(), intern TSRMLS_CC);
@@ -1682,6 +1789,10 @@ SPL_METHOD(RecursiveFilterIterator, hasChildren)
{
spl_dual_it_object *intern;
zval *retval;
+
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
intern = (spl_dual_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
@@ -1699,6 +1810,10 @@ SPL_METHOD(RecursiveFilterIterator, getChildren)
{
spl_dual_it_object *intern;
zval *retval;
+
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
intern = (spl_dual_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
@@ -1735,6 +1850,10 @@ SPL_METHOD(RegexIterator, accept)
int subject_len, use_copy, count = 0, result_len;
zval subject_copy, zcount, *replacement;
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
+
if (intern->current.data == NULL) {
RETURN_FALSE;
}
@@ -1828,6 +1947,10 @@ SPL_METHOD(RegexIterator, getMode)
{
spl_dual_it_object *intern = (spl_dual_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
+
RETURN_LONG(intern->u.regex.mode);
} /* }}} */
@@ -1856,6 +1979,10 @@ SPL_METHOD(RegexIterator, getFlags)
{
spl_dual_it_object *intern = (spl_dual_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
+
RETURN_LONG(intern->u.regex.flags);
} /* }}} */
@@ -1878,6 +2005,10 @@ SPL_METHOD(RegexIterator, setFlags)
SPL_METHOD(RegexIterator, getPregFlags)
{
spl_dual_it_object *intern = (spl_dual_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
+
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
if (intern->u.regex.use_flags) {
RETURN_LONG(intern->u.regex.preg_flags);
@@ -1914,6 +2045,10 @@ SPL_METHOD(RecursiveRegexIterator, getChildren)
{
spl_dual_it_object *intern;
zval *retval, *regex;
+
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
intern = (spl_dual_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
@@ -2354,6 +2489,10 @@ SPL_METHOD(CachingIterator, __construct)
SPL_METHOD(CachingIterator, rewind)
{
spl_dual_it_object *intern;
+
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
intern = (spl_dual_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
@@ -2365,6 +2504,10 @@ SPL_METHOD(CachingIterator, rewind)
SPL_METHOD(CachingIterator, valid)
{
spl_dual_it_object *intern;
+
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
intern = (spl_dual_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
@@ -2376,6 +2519,10 @@ SPL_METHOD(CachingIterator, valid)
SPL_METHOD(CachingIterator, next)
{
spl_dual_it_object *intern;
+
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
intern = (spl_dual_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
@@ -2387,6 +2534,10 @@ SPL_METHOD(CachingIterator, next)
SPL_METHOD(CachingIterator, hasNext)
{
spl_dual_it_object *intern;
+
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
intern = (spl_dual_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
@@ -2531,6 +2682,10 @@ SPL_METHOD(CachingIterator, getCache)
{
spl_dual_it_object *intern;
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
+
intern = (spl_dual_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
if (!(intern->u.caching.flags & CIT_FULL_CACHE)) {
@@ -2548,6 +2703,10 @@ SPL_METHOD(CachingIterator, getFlags)
{
spl_dual_it_object *intern;
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
+
intern = (spl_dual_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
RETURN_LONG(intern->u.caching.flags);
@@ -2593,6 +2752,10 @@ SPL_METHOD(CachingIterator, count)
{
spl_dual_it_object *intern;
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
+
intern = (spl_dual_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
if (!(intern->u.caching.flags & CIT_FULL_CACHE)) {
@@ -2656,6 +2819,10 @@ SPL_METHOD(RecursiveCachingIterator, hasChildren)
{
spl_dual_it_object *intern;
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
+
intern = (spl_dual_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
RETURN_BOOL(intern->u.caching.zchildren);
@@ -2666,6 +2833,10 @@ SPL_METHOD(RecursiveCachingIterator, hasChildren)
SPL_METHOD(RecursiveCachingIterator, getChildren)
{
spl_dual_it_object *intern;
+
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
intern = (spl_dual_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
@@ -2721,6 +2892,9 @@ SPL_METHOD(NoRewindIterator, __construct)
Prevent a call to inner iterators rewind() */
SPL_METHOD(NoRewindIterator, rewind)
{
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
/* nothing to do */
} /* }}} */
@@ -2729,6 +2903,10 @@ SPL_METHOD(NoRewindIterator, rewind)
SPL_METHOD(NoRewindIterator, valid)
{
spl_dual_it_object *intern;
+
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
intern = (spl_dual_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
RETURN_BOOL(intern->inner.iterator->funcs->valid(intern->inner.iterator TSRMLS_CC) == SUCCESS);
@@ -2739,6 +2917,10 @@ SPL_METHOD(NoRewindIterator, valid)
SPL_METHOD(NoRewindIterator, key)
{
spl_dual_it_object *intern;
+
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
intern = (spl_dual_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
@@ -2767,6 +2949,10 @@ SPL_METHOD(NoRewindIterator, current)
{
spl_dual_it_object *intern;
zval **data;
+
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
intern = (spl_dual_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
intern->inner.iterator->funcs->get_current_data(intern->inner.iterator, &data TSRMLS_CC);
@@ -2780,6 +2966,10 @@ SPL_METHOD(NoRewindIterator, current)
SPL_METHOD(NoRewindIterator, next)
{
spl_dual_it_object *intern;
+
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
intern = (spl_dual_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
intern->inner.iterator->funcs->move_forward(intern->inner.iterator TSRMLS_CC);
@@ -2812,6 +3002,10 @@ SPL_METHOD(InfiniteIterator, __construct)
SPL_METHOD(InfiniteIterator, next)
{
spl_dual_it_object *intern;
+
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
intern = (spl_dual_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
@@ -2836,12 +3030,18 @@ static const zend_function_entry spl_funcs_InfiniteIterator[] = {
Does nothing */
SPL_METHOD(EmptyIterator, rewind)
{
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
} /* }}} */
/* {{{ proto false EmptyIterator::valid()
Return false */
SPL_METHOD(EmptyIterator, valid)
{
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
RETURN_FALSE;
} /* }}} */
@@ -2849,6 +3049,9 @@ SPL_METHOD(EmptyIterator, valid)
Throws exception BadMethodCallException */
SPL_METHOD(EmptyIterator, key)
{
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
zend_throw_exception(spl_ce_BadMethodCallException, "Accessing the key of an EmptyIterator", 0 TSRMLS_CC);
} /* }}} */
@@ -2856,6 +3059,9 @@ SPL_METHOD(EmptyIterator, key)
Throws exception BadMethodCallException */
SPL_METHOD(EmptyIterator, current)
{
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
zend_throw_exception(spl_ce_BadMethodCallException, "Accessing the value of an EmptyIterator", 0 TSRMLS_CC);
} /* }}} */
@@ -2863,6 +3069,9 @@ SPL_METHOD(EmptyIterator, current)
Does nothing */
SPL_METHOD(EmptyIterator, next)
{
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
} /* }}} */
static const zend_function_entry spl_funcs_EmptyIterator[] = {
@@ -2962,6 +3171,10 @@ SPL_METHOD(AppendIterator, append)
SPL_METHOD(AppendIterator, rewind)
{
spl_dual_it_object *intern;
+
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
intern = (spl_dual_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
@@ -2977,6 +3190,10 @@ SPL_METHOD(AppendIterator, valid)
{
spl_dual_it_object *intern;
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
+
intern = (spl_dual_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
RETURN_BOOL(intern->current.data);
@@ -2987,6 +3204,10 @@ SPL_METHOD(AppendIterator, valid)
SPL_METHOD(AppendIterator, next)
{
spl_dual_it_object *intern;
+
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
intern = (spl_dual_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
@@ -2998,6 +3219,10 @@ SPL_METHOD(AppendIterator, next)
SPL_METHOD(AppendIterator, getIteratorIndex)
{
spl_dual_it_object *intern;
+
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
intern = (spl_dual_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
@@ -3010,6 +3235,10 @@ SPL_METHOD(AppendIterator, getIteratorIndex)
SPL_METHOD(AppendIterator, getArrayIterator)
{
spl_dual_it_object *intern;
+
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
intern = (spl_dual_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC);