Hi all
Looking over skipped tests I noticed, one minor version to late, that
inet_ntop() and inet_pton() are not available on fbsd. The reason is
unfortunate macro expansion where inet_ntop & inet_pton get expanded
to __inet_ntop & __inet_pton ergo => inet_ntop/pton() are named
__inet_ntop/pton().
Attached is a patch adding ZEND_RAW_NAMED_FE/FENTRY macros fixing this
issue. It also fixes the never ending libiconv()/iconv() saga (which
can still be reproduced on fbsd with --with-iconv --with-xmlrpc).
Objections? Comments?
-Hannes
Index: main/php.h
===================================================================
RCS file: /repository/php-src/main/php.h,v
retrieving revision 1.221.2.4.2.5
diff -u -r1.221.2.4.2.5 php.h
--- main/php.h 17 Nov 2006 11:40:52 -0000 1.221.2.4.2.5
+++ main/php.h 18 Dec 2006 18:23:46 -0000
@@ -340,6 +340,7 @@
#define PHP_FUNCTION ZEND_FUNCTION
#define PHP_METHOD ZEND_METHOD
+#define PHP_RAW_NAMED_FE ZEND_RAW_NAMED_FE
#define PHP_NAMED_FE ZEND_NAMED_FE
#define PHP_FE ZEND_FE
#define PHP_DEP_FE ZEND_DEP_FE
Index: Zend/zend_API.h
===================================================================
RCS file: /repository/ZendEngine2/zend_API.h,v
retrieving revision 1.207.2.8.2.5
diff -u -r1.207.2.8.2.5 zend_API.h
--- Zend/zend_API.h 18 Jul 2006 09:06:32 -0000 1.207.2.8.2.5
+++ Zend/zend_API.h 18 Dec 2006 18:23:46 -0000
@@ -48,6 +48,9 @@
#define ZEND_FENTRY(zend_name, name, arg_info, flags) { #zend_name, name,
arg_info, (zend_uint) (sizeof(arg_info)/sizeof(struct _zend_arg_info)-1), flags
},
+#define ZEND_RAW_FENTRY(zend_name, name, arg_info, flags) { zend_name, name,
arg_info, (zend_uint) (sizeof(arg_info)/sizeof(struct _zend_arg_info)-1), flags
},
+#define ZEND_RAW_NAMED_FE(zend_name, name, arg_info)
ZEND_RAW_FENTRY(#zend_name, name, arg_info, 0)
+
#define ZEND_NAMED_FE(zend_name, name, arg_info) ZEND_FENTRY(zend_name,
name, arg_info, 0)
#define ZEND_FE(name, arg_info)
ZEND_FENTRY(name, ZEND_FN(name), arg_info, 0)
#define ZEND_DEP_FE(name, arg_info) ZEND_FENTRY(name,
ZEND_FN(name), arg_info, ZEND_ACC_DEPRECATED)
Index: ext/standard/basic_functions.c
===================================================================
RCS file: /repository/php-src/ext/standard/basic_functions.c,v
retrieving revision 1.725.2.31.2.35
diff -u -r1.725.2.31.2.35 basic_functions.c
--- ext/standard/basic_functions.c 13 Dec 2006 15:31:47 -0000
1.725.2.31.2.35
+++ ext/standard/basic_functions.c 18 Dec 2006 18:23:47 -0000
@@ -3326,10 +3326,10 @@
PHP_FE(number_format,
arginfo_number_format)
PHP_FE(fmod,
arginfo_fmod)
#ifdef HAVE_INET_NTOP
- PHP_NAMED_FE(inet_ntop, php_inet_ntop,
arginfo_inet_ntop)
+ PHP_RAW_NAMED_FE(inet_ntop, php_inet_ntop,
arginfo_inet_ntop)
#endif
#ifdef HAVE_INET_PTON
- PHP_NAMED_FE(inet_pton, php_inet_pton,
arginfo_inet_pton)
+ PHP_RAW_NAMED_FE(inet_pton, php_inet_pton,
arginfo_inet_pton)
#endif
PHP_FE(ip2long,
arginfo_ip2long)
PHP_FE(long2ip,
arginfo_long2ip)
Index: ext/iconv/iconv.c
===================================================================
RCS file: /repository/php-src/ext/iconv/iconv.c,v
retrieving revision 1.124.2.8.2.8
diff -u -r1.124.2.8.2.8 iconv.c
--- ext/iconv/iconv.c 15 Nov 2006 18:34:57 -0000 1.124.2.8.2.8
+++ ext/iconv/iconv.c 18 Dec 2006 19:07:10 -0000
@@ -142,7 +142,7 @@
/* {{{ iconv_functions[]
*/
zend_function_entry iconv_functions[] = {
- PHP_NAMED_FE(iconv,php_if_iconv,
arginfo_iconv)
+ PHP_RAW_NAMED_FE(iconv,php_if_iconv,
arginfo_iconv)
PHP_FE(ob_iconv_handler,
arginfo_ob_iconv_handler)
PHP_FE(iconv_get_encoding,
arginfo_iconv_get_encoding)
PHP_FE(iconv_set_encoding,
arginfo_iconv_set_encoding)
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php