Annotation of embedaddon/php/ext/spl/spl_engine.c, revision 1.1.1.3
1.1 misho 1: /*
2: +----------------------------------------------------------------------+
3: | PHP Version 5 |
4: +----------------------------------------------------------------------+
1.1.1.3 ! misho 5: | Copyright (c) 1997-2013 The PHP Group |
1.1 misho 6: +----------------------------------------------------------------------+
7: | This source file is subject to version 3.01 of the PHP license, |
8: | that is bundled with this package in the file LICENSE, and is |
9: | available through the world-wide-web at the following url: |
10: | http://www.php.net/license/3_01.txt |
11: | If you did not receive a copy of the PHP license and are unable to |
12: | obtain it through the world-wide-web, please send a note to |
13: | license@php.net so we can mail you a copy immediately. |
14: +----------------------------------------------------------------------+
15: | Authors: Marcus Boerger <helly@php.net> |
16: +----------------------------------------------------------------------+
17: */
18:
19: #ifdef HAVE_CONFIG_H
20: # include "config.h"
21: #endif
22:
23: #include "php.h"
24: #include "php_ini.h"
25: #include "ext/standard/info.h"
26: #include "zend_interfaces.h"
27:
28: #include "php_spl.h"
29: #include "spl_functions.h"
30: #include "spl_engine.h"
31:
32: #include "spl_array.h"
33:
34: /* {{{ spl_instantiate */
35: PHPAPI void spl_instantiate(zend_class_entry *pce, zval **object, int alloc TSRMLS_DC)
36: {
37: if (alloc) {
38: ALLOC_ZVAL(*object);
39: }
40: object_init_ex(*object, pce);
41: Z_SET_REFCOUNT_PP(object, 1);
42: Z_SET_ISREF_PP(object); /* check if this can be hold always */
43: }
44: /* }}} */
45:
46: PHPAPI long spl_offset_convert_to_long(zval *offset TSRMLS_DC) /* {{{ */
47: {
1.1.1.2 misho 48: switch (Z_TYPE_P(offset)) {
1.1 misho 49: case IS_STRING:
50: ZEND_HANDLE_NUMERIC(Z_STRVAL_P(offset), Z_STRLEN_P(offset)+1, idx);
51: break;
52: case IS_DOUBLE:
1.1.1.2 misho 53: return (long)Z_DVAL_P(offset);
1.1 misho 54: case IS_RESOURCE:
55: case IS_BOOL:
56: case IS_LONG:
1.1.1.2 misho 57: return Z_LVAL_P(offset);
1.1 misho 58: }
59: return -1;
60: }
61: /* }}} */
62:
63: /*
64: * Local variables:
65: * tab-width: 4
66: * c-basic-offset: 4
67: * End:
68: * vim600: fdm=marker
69: * vim: noet sw=4 ts=4
70: */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>