summaryrefslogtreecommitdiffhomepage
path: root/php_imlib.h
diff options
context:
space:
mode:
Diffstat (limited to 'php_imlib.h')
-rw-r--r--php_imlib.h65
1 files changed, 12 insertions, 53 deletions
diff --git a/php_imlib.h b/php_imlib.h
index 7df29c5..5f66094 100644
--- a/php_imlib.h
+++ b/php_imlib.h
@@ -23,7 +23,6 @@
#include "X11/Xlib.h"
#include <Imlib2.h>
#include "ltdl.h"
-#include "php_ini.h"
#include "php_config.h"
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -155,56 +154,13 @@ typedef struct
} PHP_Imlib_Color_Modifier_struct;
typedef PHP_Imlib_Color_Modifier_struct *PHP_Imlib_Color_Modifier;
-#if PHP_VERSION_ID >= 70000
- typedef zval imlib_zval;
- typedef zend_resource imlib_resource;
-# define IMLIB_TO_ZVAL(v) v
-# define Z_LVAL_PP(v) Z_LVAL_P(v)
-# define Z_DVAL_PP(v) Z_DVAL_P(v)
-# define STR_VAL(k) (k)->val
-# define IMLIB_DELETE_RESOURCE(v) zend_list_delete(v)
-# define IMLIB_RETURN_STRING(v) RETURN_STRING(v)
-# define ENFORCE_SAFE_MODE 0
-# define IMLIB_FETCH_RESOURCE(rsrc, rsrc_type, passed_id, default_id, resource_type_name, resource_type) \
- rsrc = (rsrc_type) zend_fetch_resource(passed_id TSRMLS_CC, resource_type_name, resource_type)
-# define IMLIB_REGISTER_RESOURCE(result, le_result) RETURN_RES(zend_register_resource(result, le_result))
-# define IMLIB_RSRC_DTOR_FUNC(name) ZEND_RSRC_DTOR_FUNC(name)
-#else
- typedef zval* imlib_zval;
- typedef imlib_zval imlib_resource;
- typedef char zend_string;
-# define IMLIB_TO_ZVAL(v) *v
-# define STR_VAL(k) (k)
-# define IMLIB_DELETE_RESOURCE(v) zend_list_delete(Z_LVAL_PP(v))
-# define IMLIB_RETURN_STRING(v) RETURN_STRING(v, 1)
-# define IMLIB_FETCH_RESOURCE(rsrc, rsrc_type, passed_id, default_id, resource_type_name, resource_type) \
- rsrc = (rsrc_type) zend_fetch_resource(passed_id TSRMLS_CC, default_id, resource_type_name, NULL, 1, resource_type)
-# define IMLIB_REGISTER_RESOURCE(result, le_result) ZEND_REGISTER_RESOURCE(return_value, result, le_result)
- static inline void zend_string_release(zend_string *s)
- {
- efree(s);
- }
-# define IMLIB_RSRC_DTOR_FUNC(name) void name(zend_rsrc_list_entry *res TSRMLS_DC)
-# define ZEND_HASH_FOREACH_KEY_VAL(ht, _h, _key, _val) \
- HashPosition _pos; \
- zend_hash_internal_pointer_reset_ex(ht, &_pos); \
- for(; _pos; zend_hash_move_forward_ex(ht, &_pos)) \
- { \
- int _retval=zend_hash_get_current_key_ex(ht, &_key, NULL, &_h, 0, &_pos); \
- if (_retval!=HASH_KEY_IS_STRING) _key = NULL; \
- zend_hash_get_current_data_ex(ht, (void**)&_val, &_pos);
-# define ZEND_HASH_FOREACH_END() \
- }
-# define Z_RES_P(v) v
-#endif
-
-Imlib_Image _php_imlib_get_image(imlib_resource *im_resource);
-Imlib_Filter _php_imlib_get_filter(imlib_resource *fil_resource);
-Imlib_Font _php_imlib_get_font(imlib_resource *font_resource);
-Imlib_TTF_Encoding _php_imlib_get_font_encoding(imlib_resource *font_resource);
-Imlib_Color_Range _php_imlib_get_cr(imlib_resource *cr_resource);
-ImlibPolygon _php_imlib_get_poly(imlib_resource *poly_resource);
-Imlib_Color_Modifier _php_imlib_get_cm(imlib_resource *cm_resource);
+Imlib_Image _php_imlib_get_image(zval** im_resource);
+Imlib_Filter _php_imlib_get_filter(zval** fil_resource);
+Imlib_Font _php_imlib_get_font(zval** font_resource);
+Imlib_TTF_Encoding _php_imlib_get_font_encoding(zval** font_resource);
+Imlib_Color_Range _php_imlib_get_cr(zval** cr_resource);
+ImlibPolygon _php_imlib_get_poly(zval** poly_resource);
+Imlib_Color_Modifier _php_imlib_get_cm(zval** cm_resource);
struct php_imlib_filter
{
@@ -238,11 +194,14 @@ ZEND_END_MODULE_GLOBALS(imlib)
# define IMLIBG(v) (imlib_globals.v)
#endif
-#else /* HAVE_IMLIB */
+#else
#define phpext_imlib_ptr NULL
-#endif /* HAVE_IMLIB */
+#endif
+
+#define MY_ZEND_FETCH_RESOURCE(rsrc, rsrc_type, passed_id, default_id, resource_type_name, resource_type) \
+ rsrc = (rsrc_type) zend_fetch_resource(passed_id TSRMLS_CC, default_id, resource_type_name, NULL, 1, resource_type)
#endif /* _PHP_IMLIB_H */