From 90c1c1709f137ef730166f682c109e69f84211d9 Mon Sep 17 00:00:00 2001 From: jdolecek Date: Sun, 31 Aug 2003 19:55:21 +0000 Subject: Update PHP to final 4.3.3 Some highlights of changes since 4.2.3: * PCRE updated to 4.3, GD to 2.0.15 * improved Apache2 support * much improved stream & URL wrapper support, output compression support * added CLI (Command Line Interface) SAPI * debug_backtrace() backported from ZendEngine2 * faster build system * huge number of other bug fixes and improvements Packaging changes: * 'pcre', 'xml', and 'session' modules folded back into main package - 'pcre' and 'xml' is required by PEAR, and 'session' is just too essential to be separate * 'gd' module now uses bundled PHP GD library, which is better integrated * PHP modules use shared distinfo when possible to ease future PHP updates * ${PREFIX}/bin/php is now CLI version, ${PREFIX}/libexec/cgi-big/php remains CGI version --- www/ap-php4/Makefile | 4 +- www/php4-apc/Makefile | 3 +- www/php4-curl/distinfo | 4 - www/php4/MESSAGE | 7 +- www/php4/Makefile | 13 +- www/php4/Makefile.common | 4 +- www/php4/Makefile.module | 3 +- www/php4/Makefile.php | 8 +- www/php4/PLIST | 493 ++++++++++++++++++++++++++-------------------- www/php4/buildlink2.mk | 4 +- www/php4/distinfo | 24 ++- www/php4/patches/patch-aa | 13 -- www/php4/patches/patch-ab | 27 +-- www/php4/patches/patch-ac | 35 ---- www/php4/patches/patch-ae | 8 +- www/php4/patches/patch-ag | 16 +- www/php4/patches/patch-ah | 14 +- www/php4/patches/patch-ai | 16 +- www/php4/patches/patch-aj | 32 +-- www/php4/patches/patch-ak | 107 ---------- 20 files changed, 361 insertions(+), 474 deletions(-) delete mode 100644 www/php4-curl/distinfo delete mode 100644 www/php4/patches/patch-aa delete mode 100644 www/php4/patches/patch-ac delete mode 100644 www/php4/patches/patch-ak (limited to 'www') diff --git a/www/ap-php4/Makefile b/www/ap-php4/Makefile index 98d434e29df..39a421949ca 100644 --- a/www/ap-php4/Makefile +++ b/www/ap-php4/Makefile @@ -1,8 +1,8 @@ -# $NetBSD: Makefile,v 1.29 2003/08/23 14:22:44 grant Exp $ +# $NetBSD: Makefile,v 1.30 2003/08/31 19:56:04 jdolecek Exp $ # PKGNAME= ap-php-${PHP_BASE_VERS} -PKGREVISION= 1 +PKGREVISION= # empty COMMENT= Apache 1.x module for PHP4 DEPENDS+= php>=${PHP_BASE_VERS}:../../www/php4 diff --git a/www/php4-apc/Makefile b/www/php4-apc/Makefile index f0790957db4..8cda579d6f4 100644 --- a/www/php4-apc/Makefile +++ b/www/php4-apc/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.6 2003/07/17 22:55:59 grant Exp $ +# $NetBSD: Makefile,v 1.7 2003/08/31 19:56:08 jdolecek Exp $ DISTNAME= apc-1.1.0pl1 PKGNAME= php-apc-1.1.0.1 @@ -14,6 +14,7 @@ COMMENT= Alternative PHP Cache for PHP4 EXTRACT_ELEMENTS= # empty USE_BUILDLINK2= YES +DISTINFO_FILE= ${PKGDIR}/distinfo .include "../../www/php4/Makefile.module" diff --git a/www/php4-curl/distinfo b/www/php4-curl/distinfo deleted file mode 100644 index 5abcf6eaf45..00000000000 --- a/www/php4-curl/distinfo +++ /dev/null @@ -1,4 +0,0 @@ -$NetBSD: distinfo,v 1.1.1.1 2002/10/14 06:40:53 martti Exp $ - -SHA1 (php-4.2.3.tar.gz) = 3e57e8c056bd2f173bba8705293cdfa15aeb93bc -Size (php-4.2.3.tar.gz) = 3413829 bytes diff --git a/www/php4/MESSAGE b/www/php4/MESSAGE index 0e3ddf4f71a..4affd0f1a8c 100644 --- a/www/php4/MESSAGE +++ b/www/php4/MESSAGE @@ -1,5 +1,5 @@ =========================================================================== -$NetBSD: MESSAGE,v 1.3 2003/08/21 05:55:10 grant Exp $ +$NetBSD: MESSAGE,v 1.4 2003/08/31 19:56:05 jdolecek Exp $ To process PHP scripts, you will need a PHP-enabled HTTP server. You may either configure the HTTP server to use PHP as a CGI program, or install a @@ -8,8 +8,5 @@ PHP module for your HTTP server, e.g. ap-php4. Some additional packages you may wish to install are: php4-dba DBM database access - php4-pcre Perl-compatible regular expressions - php4-posix Extension for POSIX-like functions - php4-session Session ID support - php4-xml XML parsing extension + php4-iconv DBM database access =========================================================================== diff --git a/www/php4/Makefile b/www/php4/Makefile index c3807850762..c7d0c377b7c 100644 --- a/www/php4/Makefile +++ b/www/php4/Makefile @@ -1,7 +1,6 @@ -# $NetBSD: Makefile,v 1.33 2003/06/29 16:30:32 grant Exp $ +# $NetBSD: Makefile,v 1.34 2003/08/31 19:56:05 jdolecek Exp $ PKGNAME= php-${PHP_BASE_VERS} -PKGREVISION= 2 CATEGORIES+= lang COMMENT= HTML-embedded scripting language @@ -9,10 +8,14 @@ CONFLICTS+= ap-php-4.0.3pl1 USE_BUILDLINK2= YES USE_PKGINSTALL= YES -LIBTOOL_OVERRIDE= ${WRKSRC}/libtool +# PHP uses libtool inconsistently for CGI/CLI build; don't sanify for now +# LIBTOOL_OVERRIDE= ${WRKSRC}/libtool +USE_GMAKE= YES .include "Makefile.php" +CONFIGURE_ARGS+= --enable-cli + CGIDIR= ${PREFIX}/libexec/cgi-bin EGDIR= ${PREFIX}/share/examples/php @@ -35,8 +38,10 @@ CONF_FILES= ${EGDIR}/php.ini-recommended ${PKG_SYSCONFDIR}/php.ini OWN_DIRS= ${PREFIX}/${PHP_EXTENSION_DIR} post-install: + ${INSTALL_PROGRAM} ${WRKSRC}/sapi/cli/php ${PREFIX}/bin/php + ${INSTALL_DATA} ${WRKSRC}/sapi/cli/php.1 ${PREFIX}/man/man1/php.1 ${INSTALL_DATA_DIR} ${CGIDIR} - ${LN} -sf ../../bin/php ${CGIDIR}/php + ${INSTALL_PROGRAM} ${WRKSRC}/sapi/cgi/php ${CGIDIR} ${INSTALL_DATA_DIR} ${EGDIR} cd ${WRKSRC}; ${INSTALL_DATA} php.ini-dist php.ini-recommended ${EGDIR} ${INSTALL_DATA_DIR} ${PREFIX}/share/php diff --git a/www/php4/Makefile.common b/www/php4/Makefile.common index a71984d738f..1777b8b5a87 100644 --- a/www/php4/Makefile.common +++ b/www/php4/Makefile.common @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.common,v 1.30 2003/07/17 22:55:59 grant Exp $ +# $NetBSD: Makefile.common,v 1.31 2003/08/31 19:56:05 jdolecek Exp $ DISTNAME?= php-${PHP_DIST_VERS} CATEGORIES+= www php4 @@ -14,7 +14,7 @@ HOMEPAGE?= http://www.php.net/ # PHP_DIST_VERS version number on the php distfile # PHP_BASE_VERS pkgsrc-mangled version number (convert pl -> .) # -PHP_DIST_VERS= 4.2.3 +PHP_DIST_VERS= 4.3.3 PHP_BASE_VERS= ${PHP_DIST_VERS} DISTFILES?= ${PHP_DISTFILE} diff --git a/www/php4/Makefile.module b/www/php4/Makefile.module index 00ad9b7c499..2db844316f5 100644 --- a/www/php4/Makefile.module +++ b/www/php4/Makefile.module @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.module,v 1.22 2003/02/03 23:53:24 jlam Exp $ +# $NetBSD: Makefile.module,v 1.23 2003/08/31 19:56:05 jdolecek Exp $ # # This Makefile is provided to ease creating PHP4 packages for the extension # modules distributed in the PHP4 sources. @@ -23,6 +23,7 @@ PLIST_SUBST+= MODNAME=${PKGMODNAME} EXTRACT_ELEMENTS?= ${DISTNAME}/ext/${PKGMODNAME} WRKSRC?= ${WRKDIR}/${EXTRACT_ELEMENTS} +DISTINFO_FILE?= ${PKGDIR}/../../www/php4/distinfo PHPIZE?= ${BUILDLINK_PREFIX.php4}/bin/phpize PHP_CONFIG?= ${BUILDLINK_PREFIX.php4}/bin/php-config diff --git a/www/php4/Makefile.php b/www/php4/Makefile.php index 0f4870ae716..de75d52a9de 100644 --- a/www/php4/Makefile.php +++ b/www/php4/Makefile.php @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.php,v 1.7 2003/01/08 01:52:43 jlam Exp $ +# $NetBSD: Makefile.php,v 1.8 2003/08/31 19:56:05 jdolecek Exp $ .include "../../www/php4/Makefile.common" @@ -8,12 +8,12 @@ PATCHDIR= ${.CURDIR}/../../www/php4/patches USE_LIBTOOL= YES GNU_CONFIGURE= YES +CONFIGURE_ARGS+= --disable-cli + CONFIGURE_ARGS+= --without-mysql -CONFIGURE_ARGS+= --without-pcre-regex +CONFIGURE_ARGS+= --without-iconv CONFIGURE_ARGS+= --disable-posix -CONFIGURE_ARGS+= --disable-session -CONFIGURE_ARGS+= --disable-xml CONFIGURE_ARGS+= --with-config-file-path=${PKG_SYSCONFDIR} CONFIGURE_ARGS+= --with-exec-dir=${PREFIX}/libexec/php4 diff --git a/www/php4/PLIST b/www/php4/PLIST index 2e6f81769c8..819b8f4dd78 100644 --- a/www/php4/PLIST +++ b/www/php4/PLIST @@ -1,267 +1,339 @@ -@comment $NetBSD: PLIST,v 1.5 2002/10/14 06:21:18 martti Exp $ +@comment $NetBSD: PLIST,v 1.6 2003/08/31 19:56:05 jdolecek Exp $ bin/pear -bin/pearize bin/php bin/php-config bin/phpextdist bin/phpize -bin/phptar -include/php/TSRM/TSRM.h -include/php/TSRM/acconfig.h -include/php/TSRM/readdir.h -include/php/TSRM/tsrm_config.h -include/php/TSRM/tsrm_config.w32.h -include/php/TSRM/tsrm_config_common.h -include/php/TSRM/tsrm_strtok_r.h -include/php/TSRM/tsrm_virtual_cwd.h -include/php/TSRM/tsrm_win32.h +etc/pear.conf include/php/Zend/FlexLexer.h -include/php/Zend/acconfig.h -include/php/Zend/zend.h -include/php/Zend/zend_API.h -include/php/Zend/zend_alloc.h -include/php/Zend/zend_builtin_functions.h -include/php/Zend/zend_compile.h -include/php/Zend/zend_config.h -include/php/Zend/zend_config.w32.h -include/php/Zend/zend_constants.h -include/php/Zend/zend_dynamic_array.h -include/php/Zend/zend_errors.h -include/php/Zend/zend_execute.h -include/php/Zend/zend_execute_locks.h -include/php/Zend/zend_extensions.h -include/php/Zend/zend_fast_cache.h -include/php/Zend/zend_globals.h -include/php/Zend/zend_globals_macros.h +include/php/Zend/zend_types.h +include/php/Zend/zend_static_allocator.h +include/php/Zend/zend_stack.h +include/php/Zend/zend_qsort.h +include/php/Zend/zend_ptr_stack.h +include/php/Zend/zend_operators.h +include/php/Zend/zend_multiply.h +include/php/Zend/zend_multibyte.h +include/php/Zend/zend_modules.h +include/php/Zend/zend_llist.h +include/php/Zend/zend_list.h +include/php/Zend/zend_language_scanner.h +include/php/Zend/zend_language_parser.h +include/php/Zend/zend_istdiostream.h +include/php/Zend/zend_ini_scanner.h +include/php/Zend/zend_ini_parser.h +include/php/Zend/zend_ini.h include/php/Zend/zend_hash.h -include/php/Zend/zend_highlight.h include/php/Zend/zend_indent.h -include/php/Zend/zend_ini.h -include/php/Zend/zend_ini_parser.h -include/php/Zend/zend_ini_scanner.h -include/php/Zend/zend_istdiostream.h -include/php/Zend/zend_language_parser.h -include/php/Zend/zend_language_scanner.h -include/php/Zend/zend_list.h -include/php/Zend/zend_llist.h -include/php/Zend/zend_modules.h -include/php/Zend/zend_operators.h -include/php/Zend/zend_ptr_stack.h -include/php/Zend/zend_qsort.h -include/php/Zend/zend_stack.h -include/php/Zend/zend_static_allocator.h +include/php/Zend/zend_highlight.h +include/php/Zend/zend_globals_macros.h +include/php/Zend/zend_globals.h +include/php/Zend/zend_fast_cache.h +include/php/Zend/zend_extensions.h +include/php/Zend/zend_execute_locks.h +include/php/Zend/zend_execute_globals.h +include/php/Zend/zend_execute.h +include/php/Zend/zend_errors.h +include/php/Zend/zend_dynamic_array.h +include/php/Zend/zend_constants.h +include/php/Zend/zend_config.w32.h +include/php/Zend/zend_config.h +include/php/Zend/zend_compile.h +include/php/Zend/zend_builtin_functions.h +include/php/Zend/zend_alloc.h +include/php/Zend/zend_API.h +include/php/Zend/zend.h +include/php/Zend/acconfig.h include/php/Zend/zend_variables.h -include/php/acconfig.h -include/php/ext/mbstring/cp932_table.h -include/php/ext/mbstring/mbfilter.h -include/php/ext/mbstring/mbfilter_ja.h -include/php/ext/mbstring/mbregex.h -include/php/ext/mbstring/mbstring.h -include/php/ext/mbstring/unicode_table.h -include/php/ext/mbstring/unicode_table_ja.h -include/php/ext/session/mod_files.h -include/php/ext/session/mod_mm.h -include/php/ext/session/mod_user.h -include/php/ext/session/php_session.h +include/php/TSRM/TSRM.h +include/php/TSRM/tsrm_virtual_cwd.h +include/php/TSRM/tsrm_strtok_r.h +include/php/TSRM/tsrm_nw.h +include/php/TSRM/tsrm_config_common.h +include/php/TSRM/tsrm_config.w32.h +include/php/TSRM/tsrm_config.nw.h +include/php/TSRM/tsrm_config.h +include/php/TSRM/readdir.h +include/php/TSRM/acconfig.h +include/php/TSRM/tsrm_win32.h include/php/ext/standard/aggregation.h -include/php/ext/standard/base64.h -include/php/ext/standard/basic_functions.h -include/php/ext/standard/crc32.h -include/php/ext/standard/credits.h -include/php/ext/standard/credits_ext.h -include/php/ext/standard/credits_sapi.h -include/php/ext/standard/cyr_convert.h -include/php/ext/standard/datetime.h -include/php/ext/standard/dl.h -include/php/ext/standard/dns.h -include/php/ext/standard/exec.h -include/php/ext/standard/file.h -include/php/ext/standard/flock_compat.h -include/php/ext/standard/fsock.h -include/php/ext/standard/head.h -include/php/ext/standard/html.h -include/php/ext/standard/info.h -include/php/ext/standard/md5.h -include/php/ext/standard/microtime.h -include/php/ext/standard/pack.h -include/php/ext/standard/pageinfo.h -include/php/ext/standard/parsedate.h -include/php/ext/standard/php_array.h -include/php/ext/standard/php_assert.h -include/php/ext/standard/php_browscap.h -include/php/ext/standard/php_crypt.h -include/php/ext/standard/php_dir.h -include/php/ext/standard/php_ext_syslog.h -include/php/ext/standard/php_filestat.h -include/php/ext/standard/php_fopen_wrappers.h -include/php/ext/standard/php_ftok.h -include/php/ext/standard/php_image.h -include/php/ext/standard/php_incomplete_class.h -include/php/ext/standard/php_iptc.h -include/php/ext/standard/php_lcg.h -include/php/ext/standard/php_link.h -include/php/ext/standard/php_mail.h -include/php/ext/standard/php_math.h -include/php/ext/standard/php_metaphone.h -include/php/ext/standard/php_parsedate.h -include/php/ext/standard/php_rand.h -include/php/ext/standard/php_smart_str.h -include/php/ext/standard/php_smart_str_public.h -include/php/ext/standard/php_standard.h -include/php/ext/standard/php_string.h -include/php/ext/standard/php_type.h -include/php/ext/standard/php_var.h -include/php/ext/standard/php_versioning.h -include/php/ext/standard/quot_print.h -include/php/ext/standard/reg.h -include/php/ext/standard/scanf.h -include/php/ext/standard/uniqid.h -include/php/ext/standard/url.h include/php/ext/standard/url_scanner.h +include/php/ext/standard/url.h +include/php/ext/standard/uniqid.h +include/php/ext/standard/sha1.h +include/php/ext/standard/scanf.h +include/php/ext/standard/reg.h +include/php/ext/standard/quot_print.h +include/php/ext/standard/php_versioning.h +include/php/ext/standard/php_var.h +include/php/ext/standard/php_type.h +include/php/ext/standard/php_string.h +include/php/ext/standard/php_standard.h +include/php/ext/standard/php_smart_str_public.h +include/php/ext/standard/php_smart_str.h +include/php/ext/standard/php_rand.h +include/php/ext/standard/php_parsedate.h +include/php/ext/standard/php_metaphone.h +include/php/ext/standard/php_math.h +include/php/ext/standard/php_mail.h +include/php/ext/standard/php_link.h +include/php/ext/standard/php_lcg.h +include/php/ext/standard/php_iptc.h +include/php/ext/standard/php_incomplete_class.h +include/php/ext/standard/php_image.h +include/php/ext/standard/php_ftok.h +include/php/ext/standard/php_fopen_wrappers.h +include/php/ext/standard/php_filestat.h +include/php/ext/standard/php_ext_syslog.h +include/php/ext/standard/php_dir.h +include/php/ext/standard/php_crypt.h +include/php/ext/standard/php_browscap.h +include/php/ext/standard/php_assert.h +include/php/ext/standard/php_array.h +include/php/ext/standard/parsedate.h +include/php/ext/standard/pageinfo.h +include/php/ext/standard/pack.h +include/php/ext/standard/microtime.h +include/php/ext/standard/md5.h +include/php/ext/standard/info.h +include/php/ext/standard/html.h +include/php/ext/standard/head.h +include/php/ext/standard/fsock.h +include/php/ext/standard/flock_compat.h +include/php/ext/standard/file.h +include/php/ext/standard/exec.h +include/php/ext/standard/dns.h +include/php/ext/standard/dl.h +include/php/ext/standard/datetime.h +include/php/ext/standard/cyr_convert.h +include/php/ext/standard/css.h +include/php/ext/standard/credits_sapi.h +include/php/ext/standard/credits_ext.h +include/php/ext/standard/credits.h +include/php/ext/standard/crc32.h +include/php/ext/standard/basic_functions.h +include/php/ext/standard/base64.h include/php/ext/standard/url_scanner_ex.h +include/php/ext/session/php_session.h +include/php/ext/session/mod_user.h +include/php/ext/session/mod_mm.h +include/php/ext/session/mod_files.h include/php/ext/xml/expat/ascii.h -include/php/ext/xml/expat/asciitab.h -include/php/ext/xml/expat/expat.h -include/php/ext/xml/expat/iasciitab.h -include/php/ext/xml/expat/latin1tab.h -include/php/ext/xml/expat/nametab.h -include/php/ext/xml/expat/utf8tab.h -include/php/ext/xml/expat/winconfig.h -include/php/ext/xml/expat/xmlrole.h include/php/ext/xml/expat/xmltok.h +include/php/ext/xml/expat/xmlrole.h +include/php/ext/xml/expat/winconfig.h +include/php/ext/xml/expat/utf8tab.h +include/php/ext/xml/expat/nametab.h +include/php/ext/xml/expat/latin1tab.h +include/php/ext/xml/expat/internal.h +include/php/ext/xml/expat/iasciitab.h +include/php/ext/xml/expat/expat.h +include/php/ext/xml/expat/asciitab.h include/php/ext/xml/expat/xmltok_impl.h include/php/ext/xml/php_xml.h +include/php/ext/mbstring/cp932_table.h +include/php/ext/mbstring/unicode_table_ru.h +include/php/ext/mbstring/unicode_table_kr.h +include/php/ext/mbstring/unicode_table_ja.h +include/php/ext/mbstring/unicode_table_cn.h +include/php/ext/mbstring/unicode_table.h +include/php/ext/mbstring/unicode_data.h +include/php/ext/mbstring/php_unicode.h +include/php/ext/mbstring/php_mbregex.h +include/php/ext/mbstring/mbstring.h +include/php/ext/mbstring/mbregex.h +include/php/ext/mbstring/mbfilter_tw.h +include/php/ext/mbstring/mbfilter_ru.h +include/php/ext/mbstring/mbfilter_kr.h +include/php/ext/mbstring/mbfilter_ja.h +include/php/ext/mbstring/mbfilter_cn.h +include/php/ext/mbstring/mbfilter.h +include/php/ext/mbstring/unicode_table_tw.h +include/php/ext/pgsql/php_pgsql.h include/php/main/SAPI.h -include/php/main/build-defs.h -include/php/main/config.w32.h -include/php/main/fopen_wrappers.h -include/php/main/internal_functions_registry.h -include/php/main/logos.h -include/php/main/php.h -include/php/main/php3_compat.h -include/php/main/php_compat.h -include/php/main/php_config.h -include/php/main/php_content_types.h -include/php/main/php_globals.h -include/php/main/php_ini.h -include/php/main/php_logos.h -include/php/main/php_main.h -include/php/main/php_network.h -include/php/main/php_open_temporary_file.h -include/php/main/php_output.h -include/php/main/php_reentrancy.h -include/php/main/php_regex.h -include/php/main/php_streams.h -include/php/main/php_syslog.h -include/php/main/php_ticks.h -include/php/main/php_variables.h -include/php/main/php_version.h -include/php/main/rfc1867.h -include/php/main/safe_mode.h +include/php/main/spprintf.h include/php/main/snprintf.h +include/php/main/safe_mode.h +include/php/main/rfc1867.h +include/php/main/php_version.h +include/php/main/php_variables.h +include/php/main/php_ticks.h +include/php/main/php_syslog.h +include/php/main/php_streams.h +include/php/main/php_scandir.h +include/php/main/php_regex.h +include/php/main/php_reentrancy.h +include/php/main/php_output.h +include/php/main/php_open_temporary_file.h +include/php/main/php_network.h +include/php/main/php_memory_streams.h +include/php/main/php_main.h +include/php/main/php_logos.h +include/php/main/php_ini.h +include/php/main/php_globals.h +include/php/main/php_content_types.h +include/php/main/php_config.h +include/php/main/php_compat.h +include/php/main/php3_compat.h +include/php/main/php.h +include/php/main/logos.h +include/php/main/internal_functions_registry.h +include/php/main/fopen_wrappers.h +include/php/main/config.w32.h +include/php/main/config.nw.h +include/php/main/build-defs.h include/php/main/win95nt.h -include/php/php_version.h -include/php/regex/cclass.h -include/php/regex/cname.h -include/php/regex/regex.h -include/php/regex/regex2.h -include/php/regex/regex_extra.h +include/php/main/php_embed.h include/php/regex/utils.h +include/php/regex/regex_extra.h +include/php/regex/regex2.h +include/php/regex/regex.h +include/php/regex/cname.h +include/php/regex/cclass.h +include/php/acconfig.h +lib/php/.lock +lib/php/.registry/archive_tar.reg +lib/php/.registry/console_getopt.reg +lib/php/.registry/pear.reg +lib/php/.registry/db.reg +lib/php/.registry/http.reg +lib/php/.registry/mail.reg +lib/php/.registry/net_smtp.reg +lib/php/.registry/net_socket.reg +lib/php/.registry/xml_parser.reg +lib/php/.registry/xml_rpc.reg +lib/php/.filemap lib/php/Archive/Tar.php lib/php/Console/Getopt.php -lib/php/Crypt/CBC.php -lib/php/Crypt/HCEMD5.php -lib/php/DB.php -lib/php/DB/common.php -lib/php/DB/fbsql.php -lib/php/DB/ibase.php -lib/php/DB/ifx.php -lib/php/DB/msql.php -lib/php/DB/mssql.php -lib/php/DB/mysql.php -lib/php/DB/oci8.php -lib/php/DB/odbc.php -lib/php/DB/pgsql.php -lib/php/DB/storage.php -lib/php/DB/sybase.php -lib/php/Date/Calc.php -lib/php/Date/Human.php -lib/php/File/Find.php -lib/php/File/Passwd.php -lib/php/File/SearchReplace.php -lib/php/HTML/Common.php -lib/php/HTML/Form.php -lib/php/HTML/IT.php -lib/php/HTML/ITX.php -lib/php/HTML/IT_Error.php -lib/php/HTML/Page.php -lib/php/HTML/Processor.php -lib/php/HTML/Select.php -lib/php/HTML/Table.php -lib/php/HTTP.php -lib/php/HTTP/Compress.php -lib/php/Mail.php -lib/php/Mail/RFC822.php -lib/php/Mail/sendmail.php -lib/php/Mail/smtp.php -lib/php/Net/Curl.php -lib/php/Net/Dig.php -lib/php/Net/SMTP.php -lib/php/PEAR.php -lib/php/PEAR/Autoloader.php lib/php/PEAR/Command.php -lib/php/PEAR/Command/Auth.php +lib/php/PEAR/Common.php +lib/php/PEAR/Command/Build.php lib/php/PEAR/Command/Common.php lib/php/PEAR/Command/Config.php lib/php/PEAR/Command/Install.php lib/php/PEAR/Command/Package.php lib/php/PEAR/Command/Registry.php lib/php/PEAR/Command/Remote.php -lib/php/PEAR/Common.php +lib/php/PEAR/Command/Mirror.php +lib/php/PEAR/Command/Auth.php lib/php/PEAR/Config.php lib/php/PEAR/Dependency.php +lib/php/PEAR/Builder.php lib/php/PEAR/Frontend/CLI.php lib/php/PEAR/Installer.php lib/php/PEAR/Packager.php lib/php/PEAR/Registry.php lib/php/PEAR/Remote.php -lib/php/Schedule/At.php +lib/php/PEAR/Autoloader.php +lib/php/doc/Archive_Tar/docs/Archive_Tar.txt +lib/php/doc/DB/doc/MAINTAINERS +lib/php/doc/DB/doc/STATUS +lib/php/doc/DB/doc/TESTERS +lib/php/doc/DB/doc/IDEAS +lib/php/DB/dbase.php +lib/php/DB/fbsql.php +lib/php/DB/ibase.php +lib/php/DB/ifx.php +lib/php/DB/msql.php +lib/php/DB/mssql.php +lib/php/DB/mysql.php +lib/php/DB/oci8.php +lib/php/DB/odbc.php +lib/php/DB/pgsql.php +lib/php/DB/sybase.php +lib/php/DB/storage.php +lib/php/DB/sqlite.php +lib/php/DB/common.php +lib/php/data/PEAR/template.spec +lib/php/data/PEAR/package.dtd lib/php/System.php +lib/php/pearcmd.php +lib/php/Net/SMTP.php +lib/php/Net/Socket.php +lib/php/OS/Guess.php lib/php/XML/Parser.php +lib/php/XML/RPC/Server.php +lib/php/XML/RPC.php +lib/php/DB.php +lib/php/Mail/sendmail.php +lib/php/Mail/smtp.php +lib/php/Mail/RFC822.php +lib/php/Mail/mail.php +lib/php/test/DB/tests/db_parsedsn.phpt +lib/php/test/DB/tests/db_factory.phpt +lib/php/test/DB/tests/db_ismanip.phpt +lib/php/test/DB/tests/db_error2.phpt +lib/php/test/DB/tests/errors.inc +lib/php/test/DB/tests/fetchmode_object.inc +lib/php/test/DB/tests/fetchmodes.inc +lib/php/test/DB/tests/fetchrow.inc +lib/php/test/DB/tests/include.inc +lib/php/test/DB/tests/limit.inc +lib/php/test/DB/tests/numcols.inc +lib/php/test/DB/tests/numrows.inc +lib/php/test/DB/tests/prepexe.inc +lib/php/test/DB/tests/sequences.inc +lib/php/test/DB/tests/simplequery.inc +lib/php/test/DB/tests/tableinfo.inc +lib/php/test/DB/tests/transactions.inc +lib/php/test/DB/tests/driver/02fetch.phpt +lib/php/test/DB/tests/driver/03simplequery.phpt +lib/php/test/DB/tests/driver/04numcols.phpt +lib/php/test/DB/tests/driver/05sequences.phpt +lib/php/test/DB/tests/driver/06prepexec.phpt +lib/php/test/DB/tests/driver/08affectedrows.phpt +lib/php/test/DB/tests/driver/09numrows.phpt +lib/php/test/DB/tests/driver/10errormap.phpt +lib/php/test/DB/tests/driver/13limit.phpt +lib/php/test/DB/tests/driver/14fetchmode_object.phpt +lib/php/test/DB/tests/driver/15quote.phpt +lib/php/test/DB/tests/driver/bug22328.phpt +lib/php/test/DB/tests/driver/connect.inc +lib/php/test/DB/tests/driver/mktable.inc +lib/php/test/DB/tests/driver/setup.inc +lib/php/test/DB/tests/driver/skipif.inc +lib/php/test/DB/tests/driver/01connect.phpt +lib/php/test/DB/tests/db_error.phpt +lib/php/test/XML_Parser/tests/002.phpt +lib/php/test/XML_Parser/tests/003.phpt +lib/php/test/XML_Parser/tests/004.phpt +lib/php/test/XML_Parser/tests/005.phpt +lib/php/test/XML_Parser/tests/test2.xml +lib/php/test/XML_Parser/tests/test3.xml +lib/php/test/XML_Parser/tests/001.phpt +lib/php/PEAR.php +lib/php/HTTP.php +lib/php/Mail.php lib/php/build/acinclude.m4 -lib/php/build/dynlib.m4 -lib/php/build/dynlib.mk -lib/php/build/fastgen.sh -lib/php/build/library.mk -lib/php/build/ltlib.mk -lib/php/build/mkdep.awk -lib/php/build/pear.m4 -lib/php/build/program.mk -lib/php/build/rules.mk -lib/php/build/rules_common.mk -lib/php/build/rules_pear.mk +lib/php/build/scan_makefile_in.awk +lib/php/build/Makefile.global lib/php/build/shtool +lib/php/build/mkdep.awk +lib/php/build/phpize.m4 libexec/cgi-bin/php +man/man1/php.1 share/examples/php/php.ini-dist share/examples/php/php.ini-recommended share/php/php.gif @dirrm share/php @dirrm share/examples/php +@dirrm lib/php/.registry @dirrm lib/php/build +@dirrm lib/php/data/PEAR +@dirrm lib/php/data +@dirrm lib/php/doc/Archive_Tar/docs +@dirrm lib/php/doc/Archive_Tar +@dirrm lib/php/doc/DB/doc +@dirrm lib/php/doc/DB +@dirrm lib/php/doc +@dirrm lib/php/XML/RPC @dirrm lib/php/XML -@dirrm lib/php/Schedule @dirrm lib/php/PEAR/Command @dirrm lib/php/PEAR/Frontend @dirrm lib/php/PEAR @dirrm lib/php/Net @dirrm lib/php/Mail -@dirrm lib/php/Image -@dirrm lib/php/HTTP -@dirrm lib/php/HTML -@dirrm lib/php/File -@dirrm lib/php/Date @dirrm lib/php/DB -@dirrm lib/php/Crypt @dirrm lib/php/Console @dirrm lib/php/Archive @dirrm include/php/regex @@ -269,6 +341,7 @@ share/php/php.gif @dirrm include/php/ext/xml/expat @dirrm include/php/ext/xml @dirrm include/php/ext/mbstring +@dirrm include/php/ext/pgsql @dirrm include/php/ext/standard @dirrm include/php/ext/session @dirrm include/php/ext diff --git a/www/php4/buildlink2.mk b/www/php4/buildlink2.mk index 2168f363054..13bf931fd6e 100644 --- a/www/php4/buildlink2.mk +++ b/www/php4/buildlink2.mk @@ -1,10 +1,10 @@ -# $NetBSD: buildlink2.mk,v 1.2 2002/08/25 18:40:25 jlam Exp $ +# $NetBSD: buildlink2.mk,v 1.3 2003/08/31 19:56:06 jdolecek Exp $ .if !defined(PHP4_BUILDLINK2_MK) PHP4_BUILDLINK2_MK= # defined BUILDLINK_PACKAGES+= php4 -BUILDLINK_DEPENDS.php4?= php>=4.1.0 +BUILDLINK_DEPENDS.php4?= php>=${PHP_BASE_VERS} BUILDLINK_PKGSRCDIR.php4?= ../../www/php4 # This adds a build-dependency as php4 has no libraries. diff --git a/www/php4/distinfo b/www/php4/distinfo index ddf72a5b910..7ff9da2bfb9 100644 --- a/www/php4/distinfo +++ b/www/php4/distinfo @@ -1,14 +1,12 @@ -$NetBSD: distinfo,v 1.20 2003/06/03 19:17:20 epg Exp $ +$NetBSD: distinfo,v 1.21 2003/08/31 19:56:06 jdolecek Exp $ -SHA1 (php-4.2.3.tar.gz) = 3e57e8c056bd2f173bba8705293cdfa15aeb93bc -Size (php-4.2.3.tar.gz) = 3413829 bytes -SHA1 (patch-aa) = 09fb15fde09bf866d9be016839f33c889d9cefb9 -SHA1 (patch-ab) = daac6888e758b39bc40abed41eba9e55a0fa30e5 -SHA1 (patch-ac) = f3a3a4a5af6f03a6274aa4875a922b838f1bde1b -SHA1 (patch-ad) = 452ee7c2ef9cb9456653f376c5cc350e227bf10d -SHA1 (patch-ae) = e7acc06a63f47053c81ab442b53c68d89d122f78 -SHA1 (patch-ag) = a1948af6361e898880e4598654a8ac15fd193b7d -SHA1 (patch-ah) = 27ac564d2d378852ba328fbc0458d222a4bfdb22 -SHA1 (patch-ai) = 26cbc90ef8478e38c4d201f1dd2318c04991318e -SHA1 (patch-aj) = 9a40719571301c093548a4dec3429a2cc36fdce4 -SHA1 (patch-ak) = 417c4ef9110d4aec717b39e1ab9a415c1557a4b4 +SHA1 (php-4.3.3.tar.gz) = 6aa670995119a34c408fd362d6c2f57329a1cd3d +Size (php-4.3.3.tar.gz) = 4565509 bytes +SHA1 (patch-aa) = 9113822bee51345891758b5e354b79fd3e5e8d2d +SHA1 (patch-ab) = b69b9ad226469300a885390db6e45dc43d8ae0d1 +SHA1 (patch-ae) = 21fb3fc613121bcfb35f2735870d142612e238dd +SHA1 (patch-ag) = 1ded1d7f4daac6806f41864c783f16d3403315e4 +SHA1 (patch-ah) = 0ac37bd35c4594cb58f1ea85ef811154b644a931 +SHA1 (patch-ai) = 7a73ba3b111c6c0437cb52c7044c367453f9c132 +SHA1 (patch-aj) = b517c66ad74d1f1394ce7dd8f9a9567811d30b00 +SHA1 (patch-ak) = 1608457aa7d1ae649f62170a18974e87fee29116 diff --git a/www/php4/patches/patch-aa b/www/php4/patches/patch-aa deleted file mode 100644 index 8c517419aa1..00000000000 --- a/www/php4/patches/patch-aa +++ /dev/null @@ -1,13 +0,0 @@ -$NetBSD: patch-aa,v 1.8 2002/09/04 14:47:40 agc Exp $ - ---- Makefile.in.orig Sat Apr 21 21:09:12 2001 -+++ Makefile.in -@@ -19,7 +19,7 @@ - PROGRAM_NAME = php - PROGRAM_SOURCES = stub.c - PROGRAM_LDADD = libphp4.la $(EXT_PROGRAM_LDADD) --PROGRAM_LDFLAGS = -export-dynamic -+PROGRAM_LDFLAGS = -static ${EXPORT_SYMBOLS_LDFLAGS} $(LINK_LIBGCC_LDFLAGS) - PROGRAM_DEPENDENCIES = $(PROGRAM_LDADD) - - targets = $(LTLIBRARY_NAME) $(PHP_PROGRAM) diff --git a/www/php4/patches/patch-ab b/www/php4/patches/patch-ab index 815a3dd2772..d9ff6b69ab6 100644 --- a/www/php4/patches/patch-ab +++ b/www/php4/patches/patch-ab @@ -1,21 +1,22 @@ -$NetBSD: patch-ab,v 1.11 2003/02/03 23:53:25 jlam Exp $ - ---- pear/scripts/phpize.in.orig Wed Apr 17 06:35:59 2002 -+++ pear/scripts/phpize.in -@@ -25,7 +25,12 @@ sed \ +--- scripts/phpize.in.orig 2003-08-30 22:28:44.000000000 +0200 ++++ scripts/phpize.in 2003-08-30 22:29:39.000000000 +0200 +@@ -54,10 +54,15 @@ touch install-sh mkinstalldirs missing --aclocal --autoconf --autoheader --libtoolize -f -c +-aclocal || exit 1 +-autoconf || exit 1 +-autoheader || exit 1 +-libtoolize -f -c || exit 1 +if [ -z "$ACLOCAL" ]; then ACLOCAL=aclocal; fi +if [ -z "$AUTOCONF" ]; then AUTOCONF=autoconf; fi +if [ -z "$AUTOHEADER" ]; then AUTOHEADER=autoheader; fi +if [ -z "$LIBTOOLIZE" ]; then LIBTOOLIZE=libtoolize; fi + -+$ACLOCAL -+$AUTOCONF -+$AUTOHEADER -+$LIBTOOLIZE -f -c ++$ACLOCAL || exit 1 ++$AUTOCONF || exit 1 ++$AUTOHEADER || exit 1 ++$LIBTOOLIZE -f -c || exit 1 + + # dumping API NOs: + PHP_API_VERSION=`egrep '#define PHP_API_VERSION' $includedir/main/php.h|sed 's/#define PHP_API_VERSION//'` diff --git a/www/php4/patches/patch-ac b/www/php4/patches/patch-ac deleted file mode 100644 index d120f510f29..00000000000 --- a/www/php4/patches/patch-ac +++ /dev/null @@ -1,35 +0,0 @@ -$NetBSD: patch-ac,v 1.6 2002/10/14 06:21:19 martti Exp $ - ---- acinclude.m4.orig Mon Jul 29 02:15:18 2002 -+++ acinclude.m4 Sat Oct 12 09:25:51 2002 -@@ -364,10 +364,19 @@ - ;; - esac - -+dnl Having php_always_shared=yes override the configure options breaks -+dnl because it's assumed that the answer to every question is yes. We -+dnl really only want just the ext_shared=yes to denote that we'll be -+dnl using outside shared libraries. -+dnl -+dnl if test "$php_always_shared" = "yes"; then -+dnl ext_output="yes, shared" -+dnl ext_shared=yes -+dnl test "[$]$1" = "no" && $1=yes -+dnl fi -+ - if test "$php_always_shared" = "yes"; then -- ext_output="yes, shared" - ext_shared=yes -- test "[$]$1" = "no" && $1=yes - fi - - if test -n "$2"; then -@@ -704,7 +713,7 @@ - if test "$1" != "/usr/lib"; then - PHP_EXPAND_PATH($1, ai_p) - if test "$ext_shared" = "yes" && test -n "$2"; then -- $2="-R$1 -L$1 [$]$2" -+ $2="-L$1 [$]$2" - else - AC_PHP_ONCE(LIBPATH, $ai_p, [ - test -n "$ld_runpath_switch" && LDFLAGS="$LDFLAGS $ld_runpath_switch$ai_p" diff --git a/www/php4/patches/patch-ae b/www/php4/patches/patch-ae index f603980eec2..ac3e1f2854e 100644 --- a/www/php4/patches/patch-ae +++ b/www/php4/patches/patch-ae @@ -1,8 +1,6 @@ -$NetBSD: patch-ae,v 1.3 2001/10/16 04:54:24 jlam Exp $ - ---- main/php_open_temporary_file.c.orig Mon Apr 30 08:43:40 2001 -+++ main/php_open_temporary_file.c -@@ -110,7 +110,7 @@ +--- main/php_open_temporary_file.c.orig 2003-08-30 21:45:02.000000000 +0200 ++++ main/php_open_temporary_file.c 2003-08-30 21:45:13.000000000 +0200 +@@ -132,7 +132,7 @@ trailing_slash = "/"; } diff --git a/www/php4/patches/patch-ag b/www/php4/patches/patch-ag index d55e8853186..68ebc075b54 100644 --- a/www/php4/patches/patch-ag +++ b/www/php4/patches/patch-ag @@ -1,20 +1,18 @@ -$NetBSD: patch-ag,v 1.4 2002/10/14 06:21:20 martti Exp $ - ---- php.ini-dist.orig Sat Aug 24 00:57:06 2002 -+++ php.ini-dist Sat Oct 12 09:29:27 2002 -@@ -367,8 +367,9 @@ +--- php.ini-dist.orig 2003-07-10 00:38:36.000000000 +0200 ++++ php.ini-dist 2003-08-30 21:59:51.000000000 +0200 +@@ -424,8 +424,9 @@ ; if nonempty. user_dir = -; Directory in which the loadable extensions (modules) reside. --extension_dir = ./ -+; Directory in which the loadable extensions (modules) reside. If not +-extension_dir = "./" ++; Directory in which the loadable extensions (modules) reside. If not +; defined, then use the extension directory specified at compile-time. -+;extension_dir = ./ ++; extension_dir = "./" ; Whether or not to enable the dl() function. The dl() function does NOT work ; properly in multithreaded servers, such as IIS or Zeus, and is automatically -@@ -396,7 +397,7 @@ +@@ -476,7 +477,7 @@ ; Temporary directory for HTTP uploaded files (will use system default if not ; specified). diff --git a/www/php4/patches/patch-ah b/www/php4/patches/patch-ah index f2b54b1338b..70533cc48a8 100644 --- a/www/php4/patches/patch-ah +++ b/www/php4/patches/patch-ah @@ -1,17 +1,15 @@ -$NetBSD: patch-ah,v 1.5 2002/10/14 06:21:20 martti Exp $ - ---- php.ini-recommended.orig Sat Aug 24 00:57:06 2002 -+++ php.ini-recommended Sat Oct 12 09:29:54 2002 -@@ -373,7 +373,7 @@ +--- php.ini-recommended.orig 2003-07-10 00:38:36.000000000 +0200 ++++ php.ini-recommended 2003-08-30 22:01:36.000000000 +0200 +@@ -440,7 +440,7 @@ user_dir = ; Directory in which the loadable extensions (modules) reside. --extension_dir = ./ -+;extension_dir = ./ +-extension_dir = "./" ++; extension_dir = "./" ; Whether or not to enable the dl() function. The dl() function does NOT work ; properly in multithreaded servers, such as IIS or Zeus, and is automatically -@@ -403,7 +403,7 @@ +@@ -491,7 +491,7 @@ ; Temporary directory for HTTP uploaded files (will use system default if not ; specified). diff --git a/www/php4/patches/patch-ai b/www/php4/patches/patch-ai index ba02e6acb5e..ac6b0466ab4 100644 --- a/www/php4/patches/patch-ai +++ b/www/php4/patches/patch-ai @@ -1,13 +1,11 @@ -$NetBSD: patch-ai,v 1.3 2003/01/12 14:29:07 christos Exp $ - ---- ext/standard/filestat.c.orig Tue Aug 20 15:02:59 2002 -+++ ext/standard/filestat.c Sun Jan 12 09:15:21 2003 -@@ -559,7 +559,7 @@ +--- ext/standard/filestat.c.orig 2003-08-30 21:48:56.000000000 +0200 ++++ ext/standard/filestat.c 2003-08-30 21:49:03.000000000 +0200 +@@ -576,7 +576,7 @@ RETURN_FALSE; } -#ifndef PHP_WIN32 -+#ifdef notdef - switch (type) { - case FS_IS_W: - RETURN_BOOL (!access (filename, W_OK)); ++#ifdef notdef + + switch (type) { + case FS_IS_W: diff --git a/www/php4/patches/patch-aj b/www/php4/patches/patch-aj index b1147480f4b..278636ec32e 100644 --- a/www/php4/patches/patch-aj +++ b/www/php4/patches/patch-aj @@ -1,7 +1,5 @@ -$NetBSD: patch-aj,v 1.3 2003/01/14 21:39:38 christos Exp $ - ---- ext/gettext/gettext.c.orig Sat Dec 15 09:22:59 2001 -+++ ext/gettext/gettext.c Tue Jan 14 16:37:25 2003 +--- ext/gettext/gettext.c.orig 2003-08-30 21:56:34.000000000 +0200 ++++ ext/gettext/gettext.c 2003-08-30 21:57:13.000000000 +0200 @@ -58,6 +58,11 @@ }; /* }}} */ @@ -14,23 +12,14 @@ $NetBSD: patch-aj,v 1.3 2003/01/14 21:39:38 christos Exp $ zend_module_entry php_gettext_module_entry = { STANDARD_MODULE_HEADER, "gettext", -@@ -103,7 +108,7 @@ - } +@@ -104,6 +109,7 @@ retval = textdomain(domain_name); -- + + CHECK(retval); RETURN_STRING(retval, 1); } /* }}} */ -@@ -122,6 +127,7 @@ - - msgstr = gettext(Z_STRVAL_PP(msgid)); - -+ CHECK(msgstr); - RETURN_STRING(msgstr, 1); - } - /* }}} */ @@ -141,6 +147,7 @@ msgstr = dgettext(Z_STRVAL_PP(domain_name), Z_STRVAL_PP(msgid)); @@ -47,7 +36,7 @@ $NetBSD: patch-aj,v 1.3 2003/01/14 21:39:38 christos Exp $ RETURN_STRING(msgstr, 1); } /* }}} */ -@@ -186,6 +194,7 @@ +@@ -191,6 +199,7 @@ retval = bindtextdomain(Z_STRVAL_PP(domain_name), dir_name); @@ -55,14 +44,3 @@ $NetBSD: patch-aj,v 1.3 2003/01/14 21:39:38 christos Exp $ RETURN_STRING(retval, 1); } /* }}} */ -@@ -291,6 +300,10 @@ - - retval = bind_textdomain_codeset(Z_STRVAL_PP(domain), Z_STRVAL_PP(codeset)); - -+ CHECK(retval); -+ fprintf(stderr, "%s, %s: (%s, %s) -> %s\n", -+ __FILE__, __LINE__, -+ Z_STRVAL_PP(domain), Z_STRVAL_PP(codeset), retval); - RETURN_STRING(retval, 1); - } - } diff --git a/www/php4/patches/patch-ak b/www/php4/patches/patch-ak deleted file mode 100644 index 3f185c5c488..00000000000 --- a/www/php4/patches/patch-ak +++ /dev/null @@ -1,107 +0,0 @@ -$NetBSD: patch-ak,v 1.1 2003/02/21 05:39:04 lukem Exp $ - ---- ext/standard/string.c.orig Mon Jun 24 18:19:43 2002 -+++ ext/standard/string.c -@@ -616,7 +616,7 @@ PHP_FUNCTION(wordwrap) - { - const char *text, *breakchar = "\n"; - char *newtext; -- int textlen, breakcharlen = 1, newtextlen; -+ int textlen, breakcharlen = 1, newtextlen, alloced, chk; - long current = 0, laststart = 0, lastspace = 0; - long linelength = 75; - zend_bool docut = 0; -@@ -642,38 +642,40 @@ PHP_FUNCTION(wordwrap) - for (current = 0; current < textlen; current++) { - if (text[current] == breakchar[0]) { - laststart = lastspace = current; -- } -- else if (text[current] == ' ') { -+ } else if (text[current] == ' ') { - if (current - laststart >= linelength) { - newtext[current] = breakchar[0]; - laststart = current; - } - lastspace = current; -- } -- else if (current - laststart >= linelength -- && laststart != lastspace) { -+ } else if (current - laststart >= linelength && laststart != lastspace) { - newtext[lastspace] = breakchar[0]; - laststart = lastspace; - } - } - - RETURN_STRINGL(newtext, textlen, 0); -- } -- else { -+ } else { - /* Multiple character line break or forced cut */ - if (linelength > 0) { -- newtextlen = textlen + (textlen/linelength + 1) * breakcharlen + 1; -- } -- else { -- newtextlen = textlen * (breakcharlen + 1) + 1; -+ chk = (int)(textlen/linelength + 1); -+ alloced = textlen + chk * breakcharlen + 1; -+ } else { -+ chk = textlen; -+ alloced = textlen * (breakcharlen + 1) + 1; - } -- newtext = emalloc(newtextlen); -+ newtext = emalloc(alloced); - - /* now keep track of the actual new text length */ - newtextlen = 0; - - laststart = lastspace = 0; - for (current = 0; current < textlen; current++) { -+ if (chk <= 0) { -+ alloced += (int) (((textlen - current + 1)/linelength + 1) * breakcharlen) + 1; -+ newtext = erealloc(newtext, alloced); -+ chk = (int) ((textlen - current)/linelength) + 1; -+ } - /* when we hit an existing break, copy to new buffer, and - * fix up laststart and lastspace */ - if (text[current] == breakchar[0] -@@ -683,6 +685,7 @@ PHP_FUNCTION(wordwrap) - newtextlen += current-laststart+breakcharlen; - current += breakcharlen - 1; - laststart = lastspace = current + 1; -+ chk--; - } - /* if it is a space, check if it is at the line boundary, - * copy and insert a break, or just keep track of it */ -@@ -693,6 +696,7 @@ PHP_FUNCTION(wordwrap) - memcpy(newtext+newtextlen, breakchar, breakcharlen); - newtextlen += breakcharlen; - laststart = current + 1; -+ chk--; - } - lastspace = current; - } -@@ -706,6 +710,7 @@ PHP_FUNCTION(wordwrap) - memcpy(newtext+newtextlen, breakchar, breakcharlen); - newtextlen += breakcharlen; - laststart = lastspace = current; -+ chk--; - } - /* if the current word puts us over the linelength, copy - * back up until the last space, insert a break, and move -@@ -717,6 +722,7 @@ PHP_FUNCTION(wordwrap) - memcpy(newtext+newtextlen, breakchar, breakcharlen); - newtextlen += breakcharlen; - laststart = lastspace = lastspace + 1; -+ chk--; - } - } - -@@ -727,6 +733,8 @@ PHP_FUNCTION(wordwrap) - } - - newtext[newtextlen] = '\0'; -+ /* free unused memory */ -+ newtext = erealloc(newtext, newtextlen+1); - - RETURN_STRINGL(newtext, newtextlen, 0); - } -- cgit v1.2.3