'unlabeled-1.316.2'.
Sprout from master 2004-03-26 23:59:49 UTC Arkadiusz MiĆkiewicz <arekm@maven.pl> '- thread safe version only for apache2'
Delete:
FAQ.php
php-4.1.2-dom-xslt-patch
php-ZVAL.patch
php-ac250.patch
php-acam.patch
php-allow-db31.patch
php-am_ac_lt.patch
php-apache.ini
php-apache2.patch
php-build_modules.patch
php-cgi.ini
php-cli.ini
php-cpdf-fix.patch
php-db-shared.patch
php-domxml_node.patch
php-hyperwave-fix.patch
php-image_c.patch
php-imap.patch
php-ini.patch
php-java-norpath.patch
php-lib64.patch
php-libpq_fs_h_path.patch
php-libtool.patch
php-libxml2.patch
php-link-libs.patch
php-mail.patch
php-mailsecurity2.patch
php-mcal-shared-lib.patch
php-mod_php.conf
php-module-install
php-msession-shared-lib.patch
php-mssql-fix.patch
php-no-metaccld.patch
php-no_pear_install.patch
php-oracle9.patch
php-pdflib4.0.2.patch
php-pearinstall.patch
php-pldlogo.patch
php-qt.patch
php-register_shutdown_function.patch
php-sapi-ini-file.patch
php-session-unregister.patch
php-shared.patch
php-sybase-fix.patch
php-threads-acfix.patch
php-tsrmlsfetchgcc2.patch
php-vhost.patch
php-wddx-fix.patch
php-xml-expat-fix.patch
php-xml_fix
php-xmlrpc-fix.patch
php-xslt-gcc33.patch
php-zlib.patch
zend.gif
+++ /dev/null
-<!-- X-URL: http://www.php.net/FAQ.php3 -->
-<BASE HREF="http://www.php.net/FAQ.php3">
-
-<HTML>
-<HEAD>
-<TITLE>PHP3: Frequently Asked Questions</TITLE>
-
-
-<SCRIPT LANGUAGE="JavaScript">
-<!--
-var loaded = 0;
-var gotlayers = 0;
-var lastbutton='top';
-
-function popUp(menuName,on) {
-}
-function moveLayers() {
-}
-
-
-
-function change(Name,No) {
-}
-function changebullet(Name,No) {
-}
-function hide() {
-}
-
-
-//--->
-</SCRIPT>
-
-</HEAD>
-
-<BODY MARGINHEIGHT=3 MARGINWIDTH=3 TOPMARGIN=3 LEFTMARGIN=3 BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#5B69A6" VLINK="#5B69A6" ALINK="#00FF00"
-><A NAME="top">
-<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH="100%">
- <TR valign=top>
- <TD ALIGN=left width=150 BGCOLOR="#5B69A6">
- <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH="150">
- <TR VALIGN=top>
- <TD ALIGN=left>
- <IMG SRC="/gifs/cap-ul.gif" WIDTH=9 HEIGHT=9 BORDER=0><BR>
- <IMG SRC='/gifs/spacer.gif' WIDTH=15 HEIGHT=67 BORDER=0 ALT=' '><A HREF="/index.php3"><IMG SRC="/gifs/logo.gif" ALT="PHP3 Home Page" WIDTH=130 HEIGHT=67 BORDER=0></A><BR>
- <IMG SRC='/gifs/spacer.gif' WIDTH=1 HEIGHT=10 BORDER=0 ALT=' '><BR>
- </TD>
- </TR>
- <TR VALIGN=top>
- <TD ALIGN=left>
- <A HREF="downloads.php3" onMouseover="change('down',1);"
- onMouseout="hide();"><IMG SRC="/gifs/b-downloads-p.gif"
- ALT="Downloads"
- WIDTH=129 HEIGHT=30 BORDER=0
- NAME="down"
- HSPACE=10 VSPACE=0></A><BR>
-<A HREF="docs.php3" onMouseover="change('docs',1);"
- onMouseout="hide();"><IMG SRC="/gifs/b-docs-p.gif"
- ALT="Documentation"
- WIDTH=129 HEIGHT=30 BORDER=0
- NAME="docs"
- HSPACE=10 VSPACE=0></A><BR>
-<A HREF="support.php3" onMouseover="change('dev',1);"
- onMouseout="hide();"><IMG SRC="/gifs/b-development-p.gif"
- ALT="Getting Help"
- WIDTH=129 HEIGHT=30 BORDER=0
- NAME="dev"
- HSPACE=10 VSPACE=0></A><BR>
-<A HREF="news.php3" onMouseover="change('news',1);"
- onMouseout="hide();"><IMG SRC="/gifs/b-news-p.gif"
- ALT="PHP News last updated: Jun 10, 1998"
- WIDTH=129 HEIGHT=30 BORDER=0
- NAME="news"
- HSPACE=10 VSPACE=0></A><BR>
-<A HREF="projects.php3" onMouseover="change('proj',1);"
- onMouseout="hide();"><IMG SRC="/gifs/b-projects-p.gif"
- ALT="Projects using PHP"
- WIDTH=129 HEIGHT=30 BORDER=0
- NAME="proj"
- HSPACE=10 VSPACE=0></A><BR>
-<A HREF="links.php3" onMouseover="change('link',1);"
- onMouseout="hide();"><IMG SRC="/gifs/b-links-p.gif"
- ALT="PHP Links"
- WIDTH=129 HEIGHT=30 BORDER=0
- NAME="link"
- HSPACE=10 VSPACE=0></A><BR>
-<A HREF="mirrors.php3" onMouseover="change('mirr',1); popUp('mirrorsKick',true);"
- ><IMG SRC="/gifs/b-mirror-p.gif"
- ALT="Mirror sites"
- WIDTH=129 HEIGHT=30 BORDER=0
- NAME="mirr"
- HSPACE=10 VSPACE=0></A><BR>
- </TD>
- </TR>
- </TABLE>
- </TD>
- <TD align=left width="100%">
- <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 width="100%">
- <TR VALIGN=middle BGCOLOR="#5B69A6">
- <TD ALIGN=left>
- <IMG SRC='/gifs/spacer.gif' WIDTH=5 HEIGHT=1 BORDER=0 ALT=' '><FONT FACE="tahoma, verdana, arial, helvetica, sans-serif" SIZE=4><B>Frequently Asked Questions</B></FONT><BR>
- </TD>
- <TD ALIGN=right>
- <IMG SRC="/gifs/b-close-p.gif"
- ALT=""
- WIDTH=1 HEIGHT=1 BORDER=0
- NAME="close"
- HSPACE=0 VSPACE=0><A HREF="/source.php3?page_url=/FAQ.php3" onMouseover="change('sour',1);"
- onMouseout="hide();"><IMG SRC="/gifs/b-source-p.gif"
- ALT="View the source code for this page"
- WIDTH=75 HEIGHT=30 BORDER=0
- NAME="sour"
- HSPACE=5 VSPACE=9></A><A HREF="/search.php3" onMouseover="change('sear',1); popUp('searchKick',true);"
- ><IMG SRC="/gifs/b-search-p.gif"
- ALT="Search the site"
- WIDTH=75 HEIGHT=30 BORDER=0
- NAME="sear"
- HSPACE=5 VSPACE=9></A><IMG SRC="/gifs/cap-right.gif" WIDTH=24 HEIGHT=48 BORDER=0><BR></TD>
- </TR>
- </TABLE>
- <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 width="100%">
- <TR VALIGN=top BGCOLOR="#FFFFFF">
- <TD ALIGN=left WIDTH="12">
- <IMG SRC="/gifs/corner-ul.gif" WIDTH=12 HEIGHT=12 BORDER=0><BR>
- </TD>
- <TD ALIGN=left WIDTH="100%">
- <FONT FACE="tahoma, verdana, arial, helvetica, sans-serif">
- <BR CLEAR=ALL>
- <!-- start body -->
-
-<P>This is a list of Frequently Asked Questions about PHP3 and
-their answers. If you have suggestions or additions, send them to
-<CODE>php3@lists.php.net</CODE>.
-
-<HR noshade>
-
-<H2>General Information</H2>
-
-<DL>
- <DT><B>
- What is PHP3?
- </B></DT>
- <DD>
- From the <A href="http://www.php.net/manual/">manual</A>:
-
- <BLOCKQUOTE>
- <P>PHP Version 3.0 is an HTML-embedded scripting
- language. Much of its syntax is borrowed from C, Java and Perl with a
- couple of unique PHP-specific features thrown in. The goal of the language
- is to allow web developers to write dynamically generated pages quickly.
- </BLOCKQUOTE>
- <P>
- </DD>
-
- <DT><B>
- What is its relation to PHP/FI?
- </B></DT>
- <DD>
- PHP3 is the successor to PHP/FI 2.0.
- <P>
- </DD>
- <DT><B>
- Can I run both PHP/FI 2.0 and PHP3 at the same time?
- </B></DT>
- <DD>
- Yes, PHP3 was written so as to not interfere with an existing PHP/FI 2 installation.
- Instructions for building Apache 1.3.0 with both PHP/FI 2 and PHP3 modules can be
- found <a href="php2.php3">HERE</a>.
- <P>
-
- <DT><B>
- What are the differences between PHP3 and PHP/FI 2.0?
- </B></DT>
- <DD>
- For a complete list of the changes, read the <A
- href="changes.php3">CHANGES</A> file included in the PHP3
- distribution. Some highlights:
-
- <UL>
- <LI>All-new parser.
- <LI>Persistent database connections.
- <LI>A native Windows95/NT port.
- <LI>IMAP, SNMP, and LDAP extensions.
- </UL>
- <P>
- </DD>
-
- <DT><B>
- I heard it's possible to access Microsoft SQL Server from PHP3. How?
- </B></DT>
- <DD>
- On Windows 95/NT machines, you can simply use the included ODBC support
- and the correct ODBC driver.
-
- <P>On Unix machines, you can use the Sybase-CT driver
- to access Microsoft SQL Servers because they are (at
- least mostly) protocol-compatible. Sybase has made a <A
- href="/extra/ctlib-linux-elf.tar.gz">free version of the necessary
- libraries for Linux systems</A>. For other Unix operating systems,
- you need to contact Sybase for the correct libraries (which cost
- money).
- <P>
- </DD>
-
- <DT><B>
- Can I access Microsoft Access databases?
- </B></DT>
- <DD>
- Yes. You already have all the tools you need if you are running
- entirely under Windows 95 or NT, where you can use ODBC and Microsoft's
- ODBC drivers for Microsoft Access databases. From other platforms, you
- would need to have a server running Windows NT (or possibly Windows 95)
- which you connected to using ODBC drivers from your other platform and
- <A href="http://www.openlinksw.com/">OpenLink Software's ODBC Agent</A>
- software, which runs US$4,000.
-
- <P>Some better alternatives are to use an SQL server that has
- Windows ODBC drivers and use that to store the data, which you can
- then access from Microsoft Access (using ODBC) and PHP3 (using the
- built-in drivers), or to use an intermediary file format that Access
- and PHP3 both understand, such as flat-files or dBase databases.
- <P>
- </DD>
-
- <DT><B>
- Is there a PHP3 mailing list?
- </B></DT>
- <DD>
- Of course! To subscribe, send mail to
- <CODE>php3-subscribe@lists.php.net</CODE>. You don't need to include
- anything special in the subject or body of the message.
-
- <P>To unsubscribe, send mail to <CODE>php3-unsubscribe@lists.php.net</CODE>.
- <P>
- </DD>
-
- <DT><B>
- Help! I can't seem to subscribe to the mailing list!
- </B></DT>
- <DT><B>
- Help! I can't seem to unsubscribe from the mailing list!
- </B></DT>
- <DD>
- If you have problems subscribing to or unsubscribing from the
- PHP3 mailng list, it may be because the mailing list software
- can't figure out the correct mailing address to use. If
- your email address was <CODE>joeblow@example.com</CODE>,
- you can send your subscription request to
- <CODE>php3-subscribe-joeblow=example.com@lists.php.net</CODE>,
- or your unsubscription request to
- <CODE>php3-unsubscribe-joeblow=example.com@lists.php.net</CODE>.
- <P>
- </DD>
-
- <DT><B>
- Is there an archive of the mailing list anywhere?
- </B></DT>
- <DD>
- Yes, it's located at <A
- href="http://www.tryc.on.ca/php3.html">http://www.tryc.on.ca/php3.html</A>.
- </DD>
-</DL>
-
-<HR noshade>
-
-<H2>Obtaining PHP3</H2>
-
-<DL>
- <DT><B>
- Where can I obtain PHP3?
- </B></DT>
- <DD>
- You can download PHP3 from any of the members of the
- PHP3 network of sites. These can be found at <A
- href="http://www.php.net/">http://www.php.net/</A>.
- You can also use anonymous CVS to get the absolute latest
- version of the source. For more information, go to <A
- href="http://ca.php.net/cvsweb.cgi">http://ca.php.net/cvsweb.cgi</A>.
- <P>
- </DD>
-
- <DT><B>
- Are pre-compiled binary versions available?
- </B></DT>
- <DD>
- Yes, as long as you're looking for binaries for Windows 95 or NT.
- They're available in the same place as the source.
- <P>
- </DD>
-
- <DT><B>
- Where can I get libraries needed to compile some of the optional
- PHP3 extensions?
- </B></DT>
- <DD>
- <B>Note:</B> Those marked with * are not thread-safe libraries, and
- should not be used with PHP3 as a server module in the multi-threaded
- Windows web servers (IIS, Netscape). This does not matter in Unix
- environments, yet.
-
- <UL>
- <LI>LDAP* (unix): <A href="ftp://terminator.rs.itd.umich.edu/ldap/ldap-3.3.tar.Z">ftp://terminator.rs.itd.umich.edu/ldap/ldap-3.3.tar.Z</A>
- <LI>LDAP (unix/win): <A HREF="http://developer.netscape.com/tech/directory/downloads.html" TARGET="_top">Netscape Directory (LDAP) SDK 1.1</A>
- There is also a free LDAP server at: <A href="ftp://ftp.critical-angle.com/pub/cai/slapd/">ftp://ftp.critical-angle.com/pub/cai/slapd/</A>.
- <LI>Berkeley DB2 (Unix/Win): <A href="http://www.sleepycat.com/">http://www.sleepycat.com/</A>
- <LI>SNMP* (Unix): <A href="http://www.ece.ucdavis.edu/ucd-snmp/">http://www.ece.ucdavis.edu/ucd-snmp/</A> (Note: PHP3 uses the native SNMP interface in Windows.)
- <LI>GD* (Unix/Win): <A href="http://www.boutell.com/gd/#buildgd">http://www.boutell.com/gd/#buildgd</A>
- <LI>mSQL* (Unix): <A href="http://www.hughes.com.au/">http://www.hughes.com.au/</A>
- <LI>mSQL* (Win) : <A HREF="http://blnet.com/msqlpc/">MSQL PC Home Page</a>
- <LI>MySQL (Unix): <A href="http://www.tcx.se/">http://www.tcx.se/</A>
- <LI>IMAP* (Win/Unix): <A HREF="ftp://ftp.cac.washington.edu/imap/old/imap-4.tar.Z">ftp://ftp.cac.washington.edu/imap/old/imap-4.tar.Z</A>
- <LI>Sybase-CT* (Linux, libc5): <A href="/extra/ctlib-linux-elf.tar.gz">Available locally</A>
- <LI>FreeType: <A HREF="http://www.physiol.med.tu-muenchen.de/~robert/freetype.html">http://www.physiol.med.tu-muenchen.de/~robert/freetype.html</A>
- <LI>ZLib (Unix/Win32): <A HREF="http://www.cdrom.com/pub/infozip/zlib/">http://www.cdrom.com/pub/infozip/zlib/</a>
- </UL>
- <P>
- </DD>
-
- <DT><B>
- How do I get these libraries to work?
- </B></DT>
- <DD>
- You will need to follow instructions provided with the library. Some of
- these libraries are detected automatically when you run the 'configure'
- script of PHP3 (such as the GD library), and others you will have to
- enable using '--with-EXTENSION' options to 'configure'. Run 'configure
- --help' for a listing of these.
- <P>
- </DD>
-
- <DT><B>
- I got the latest version of the PHP3 source code from the CVS
- repository on my Windows 95/NT machine, what do I need to compile it?
- </B></DT>
- <DD>
- First, you will need Microsoft Visual C++ v5 (v4 may do
- it also, but we do it with v5), and you will need to <A
- href="http://www.php.net/win32/makeparser.zip">download Bison and
- Flex</A>. You will need to put Bison and Flex somewhere in your
- path, or add their location to your path. Then run the batch file
- 'makeparser' before compiling with MSVC. You also may need to edit
- some settings in the project settings. You should be familier enough
- with MSVC to know what to do ;).
- <P>
- </DD>
-</DL>
-
- <DT><B>
- Where do I find the Browser Capabilities File?
- </B></DT>
- <DD>
- You can find PHP's own browscap.ini file at <a href="http://php.netvision.net.il/browscap/">http://php.netvision.net.il/browscap/</a>.
- There is also another browscap.ini file at <a href="http://www.cyscape.com/asp/browscap/">http://www.cyscape.com/asp/browscap/</a>.
- <P>
- </DD>
-
-<HR noshade>
-
-<H2>Installation</H2>
-
-<P>To install PHP3, follow the instructions in the <A
-href="http://ca.php.net/cvsweb.cgi/INSTALL?rev=1.18">INSTALL</A>
-file located in the distribution. Windows
-95 and NT users should also read the <A
-href="http://ca.php.net/cvsweb.cgi/README.WIN32?rev=1.3">README.WIN32</A>
-file. There are also some helpful hints for Windows users here:
-<a href="http://leonard.staff.imaginet.fr/Doc/php/configuration_NT.html">
-http://leonard.staff.imaginet.fr/Doc/php/configuration_NT.html</a>.
-
-<H3>Common Problems</H3>
-
-<DL>
- <DT><B>
- I got the latest version of PHP3 using the anonymous CVS service,
- but there's no configure script!
- </B></DT>
- <DD>
- You have to have the GNU autoconf package installed so you can
- generate the configure script from configure.in. Just run
- <CODE>autoconf</CODE> in the top-level directory after getting
- the sources from the CVS server. (Also, unless you run configure
- with the <CODE>--enable-maintainer-mode</CODE> option, the
- configure script will not automatically get rebuilt when the
- configure.in file is updated, so you should make sure to do that
- manually when you notice configure.in has changed. One symptom
- of this is finding things like @VARIABLE@ in your Makefile after
- configure or config.status is run.
- <P>
- </DD>
- <DT><B>
- I'm having problems configuring PHP3 to work with Apache. It says
- it can't find httpd.h, but it's right where I said it is!
- </B></DT>
- <DD>
- You need to tell the configure/setup script the location of the
- <EM>top-level</EM> of your Apache source tree. This means that
- you want to specify '<CODE>--with-apache=/path/to/apache</CODE>'
- and <EM>not</EM> '<CODE>--with-apache=/path/to/apache/src</CODE>'.
- <P>
- </DD>
- <DT><B>
- When I run configure, it says that it can't find the include files or
- library for GD, gdbm, or some other package!
- </B></DT>
- <DD>
- You can make the configure script looks for header files and libraries
- in non-standard locations by specifying additional flags to pass to
- the C preprocessor and linker, such as:
-<FONT FACE="monospaced"><PRE>
- CPPFLAGS=-I/path/to/include LDFLAGS=-L/path/to/library ./configure
-</PRE></FONT>
- If you're using a csh-variant for your login shell (why?), it would be:
-<FONT FACE="monospaced"><PRE>
- env CPPFLAGS=-I/path/to/include LDFLAGS=-L/path/to/library ./configure
-</PRE></FONT>
- <P>
- </DD>
-
- <DT><B>
- When it is compiling the file language-parser.tab.c, it gives me errors
- that say 'yytname undeclared'.
- </B></DT>
- <DD>
- You need to update your version of Bison. You can find the latest version
- at <A href="ftp://prep.ai.mit.edu/pub/gnu/">ftp://prep.ai.mit.edu/pub/gnu/</A>.
- <P>
- </DD>
-
- <DT><B>
- When I run 'make', it seems to run fine but then fails when it
- tries to link the final application complaining that it can't find
- some files.
- </B></DT>
- <DD>
- Some old versions of make that don't correctly put the compiled
- versions of the files in the functions directory into that same
- directory. Try running "<CODE>cp *.o functions</CODE>" and then
- re-running 'make' to see if that helps. If it does, you should really
- upgrade to a recent version of GNU make.
- <P>
- </DD>
-
- <DT><B>
- When linking PHP3, it complains about a number of undefined references.
- </B></DT>
- <DD>
- Take a look at the link line and make sure that all of the appropriate
- libraries are being included at the end. Common ones that you might have
- missed are '-ldl' and any libraries required for any database support
- you included.
- <P>
- If you're linking with Apache 1.2.x, did you remember to add the
- appropriate information to the EXTRA_LIBS line of the Configuration
- file and re-rerun Apache's Configure script? See the <A href="http://ca.php.net/cvsweb.cgi/INSTALL?rev=1.18">INSTALL</A> file that
- comes with the distribution for more information.
- <P>
- Some people have also reported that they had to add '-ldl' immediately
- following 'libphp3.a' when linking with Apache.
- <P>
- </DD>
-
- <DT><B>
- I can't figure out how to build PHP3 with Apache 1.3.
- </B></DT>
- <DD>
- <P>This is actually quite easy. Follow these steps carefully:
- <UL>
- <LI>Grab the latest Apache 1.3 distribution from <A href="http://www.apache.org/dist/">www.apache.org</A>.
- <LI>Ungzip and untar it somewhere, for example /usr/local/src/apache-1.3.
- <LI>Compile PHP3 by first running ./configure --with-apache=/<i><path></i>/apache-1.3 (substitute <i><path></i> for the actual path to your apache-1.3 directory.
- <LI>Type 'make' followed by 'make install' to build PHP3 and copy the
- necessary files to the Apache distribution tree.
- <LI>Change directories into to your /<i><path></i>/apache-1.3/src directory and edit the <i>Configuration</i> file. At the end of the file, add: <tt>AddModule modules/php3/libphp3.a</tt>.
- <LI>Type: './Configure' followed by 'make'.
- <LI>You should now have a PHP3-enabled httpd binary!
- </UL>
- <b>Note:</b> You can also use the new Apache ./configure script. See the instructions in the README.configure file
- which is part of your Apache distribution. Also have a look at the INSTALL file in the PHP distribution.
- <P>
- </DD>
-</DL>
-
-<HR noshade>
-
-<H2>Using PHP3</H2>
-
-<DL>
- <DT><B>
- I would like to write a generic PHP script that can handle data coming
- from any form. How do I know which POST method variables are available?
- </B></DT>
- <DD>
- You need to compile PHP with the "--enable-track-vars" configure switch.
- This creates three associative arrays. $HTTP_GET_VARS, $HTTP_POST_VARS
- and $HTTP_COOKIE_VARS. So, to write a generic script to handle POST
- method variables you would need something similar to the following:<PRE>
- while (list($var, $value) = each($HTTP_POST_VARS)) {
- echo "$var = $value<br>n";
- }</PRE>
- <P>
- </DD>
-
- <DT><B>
- I need to convert all single-quotes (') to a backslash followed by
- a single-quote. How can I do this with a regular expression?
- </B></DT>
- <DD>
- First off, take a look at the <A href="manual/function.addslashes.php3">addslashes()</A> function. It will do
- exactly what you want.
- <P>
- The ereg_replace magic you're looking for, however, is simply:<PRE>
- $escaped = ereg_replace("'", "\'", $input);</PRE>
- <P>
- </DD>
-
- <DT><B>
- When I do the following, the output is printed in the wrong order:<PRE>
- function myfunc($argument) {
- echo $myfunc + 10;
- }
- $variable = 10;
- echo "myfunc($variable) = " . myfunc($variable);
- </PRE>
- <P>What's going on?
- </B></DT>
- <DD>
- To be able to use the results of your function in an expression (such
- as concatenating it with other strings in the example above), you need
- to <B>return</B> the value, not echo it.
- <P>
- </DD>
-
- <DT><B>
- Hey, what happened to my newlines in:
-<PRE>
-<PRE>
- 1 <?echo $result[1];?>
- 2 <?echo $result[2];?>
-</PRE>
- </B></DT>
- <DD>
- In PHP, the ending for a block of code is either "?>" <B>or</B>
- "?>n" (where n means a newline). This means that you need to
- insert an extra newline after each block of PHP code in the above
- example.
- <P>
- Why does PHP do this? Because when formatting normal HTML, this
- usually makes your life easier because you don't want that newline,
- but you'd have to create extremely long lines or otherwise make the
- raw page source unreadable to achieve that effect.
- <P>
- </DD>
-
- <DT><B>
- I need to access information in the request header directly. How can
- I do this?
- </B></DT>
- <DD>
- The getallheaders() function will do this if you are running PHP as a
- module. So, the following bit of code will show you all the request
- headers:<PRE>
- $headers = getallheaders();
- for(reset($headers); $key = key($headers); next($headers)) {
- echo "headers[$key] = ".$headers[$key]."<br>n";
- }
-</PRE>
- <P>
- </DD>
-
- <DT><B>
- When I try to use authentication with IIS I get 'No Input file specified'
- </B></DT>
- <DD>
- The security model of IIS is at fault here. This is a problem
- common to all CGI programs running under IIS. A workaround is
- to create a plain HTML file (not parsed by php) as the entry page
- into an authenticated directory. Then use a META tag to redirect
- to the PHP page, or have a link to the PHP page. PHP will
- then recognize the authentication correctly. When the ISAPI
- module is ready, this will no longer be a problem. This should
- not effect other NT web servers. For more information, see: <A
- href="http://support.microsoft.com/support/kb/articles/q160/4/22.asp"
- target="_new">http://support.microsoft.com/support/kb/articles/q160/4/22.asp</A>.
- <P>
- </DD>
-
- <DT><B>
- I've followed all the instructions, but still can't get PHP and IIS
- to work together!
- </B></DT>
- <DD>
- Make sure any user who needs to run a PHP script has the rights
- to run php.exe! IIS uses an anonymous user which is added at the
- time IIS is installed. This user needs rights to php.exe. Also,
- any authenticated user will also need rights to execute php.exe.
- <P>
- </DD>
-
-</DL>
-
-<H3>New Features</H3>
-
-<DL>
- <DT><B>
- I saw PHP3 offers persistent database connections. What does that mean?
- </B></DT>
- <DD>
- Persistent connections are SQL links that do not close when the
- execution of your script ends. When a persistent connection is
- requested, PHP checks if there's already an identical persistent
- connection (that remained open from earlier) - and if it exists, it
- uses it. If it does not exist, it creates the link. An 'identical'
- connection is a connection that was opened to the same host, with
- the same username and the same password (where applicable).
-
- <P>People who aren't thoroughly familiar with the way web servers
- work and distribute the load may mistake persistent connects for what
- they're not. In particular, they do <B>not</B> give you an ability
- to open 'user sessions' on the same SQL link, they do <B>not</B>
- give you an ability to build up a transaction efficently, and they
- don't do a whole lot of other things. In fact, to be extremely
- clear about the subject, persistent connections don't give you <B>any</B>
- functionality that wasn't possible with their non-persistent brothers.
-
- <P>Why?
-
- <P>This has to do with the way web servers work. There are three ways
- in which your web server can utilize PHP to generate web pages.
-
- <P>The first method is to use PHP as a CGI "wrapper". When run this
- way, an instance of the PHP interpreter is created and destroyed for
- every page request (for a PHP page) to your web server. Because it
- is destroyed after every request, any resources that it acquires (such
- as a link to an SQL database server) are closed when it is destroyed.
- In this case, you do not gain anything from trying to use persistent
- connections -- they simply don't persist.
-
- <P>The second, and most popular, method is to run PHP as a module
- in a <I>multiprocess</I> web server, which currently only includes
- Apache. A multiprocess server typically has one process (the parent)
- which coordinates a set of processes (its children) who actually do
- the work of serving up web pages. When each request comes in from a a
- client, it is handed off to one of the children that is not already
- serving another client. This means that when the same client makes
- a second request to the server, it may be serviced by a different
- child process than the first time. What a persistent connection does
- for you in this case it make it so each child process only needs
- to connect to your SQL server the first time that it serves a page
- that makes us of such a connection. When another page then requires
- a connection to the SQL server, it can reuse the connection that
- child established earlier.
-
- <P>The last method is to use PHP as a plug-in for a <I>multithreaded</I>
- web server. Currently this is only theoretical -- PHP does not
- yet work as a plug-in for any multithreaded web servers. Work is
- progressing on support for ISAPI, WSAPI, and NSAPI (on Windows),
- which will all allow PHP to be used as a plug-in on multithreaded
- servers like Netscape FastTrack, Microsoft's Internet Information
- Server (IIS), and O'Reilly's WebSite Pro. When this happens, the
- behavior will be essentially the same as for the multiprocess model
- described before.
-
- <P>If persistent connections don't have any added functionality,
- what are they good for?
-
- <P>The answer here is extremely simple -- efficiency. Persistent
- connections are good if the overhead to create a link to your SQL
- server is high. Whether or not this overhead is really high depends
- on many factors. Like, what kind of database it is, whether or
- not it sits on the same computer on which your web server sits,
- how loaded the machine the SQL server sits on is and so forth.
- The bottom line is that if that connection overhead is high,
- persistent connections help you considerably. They cause the child
- process to simply connect only once for its entire lifespan, instead
- of every time it processes a page that requires connecting to the
- SQL server. This means that for every child that opened a persistent
- connection will have its own open persistent connection to the server.
- For example, if you had 20 different child processes that ran a script
- that made a persistent connection to your SQL server, you'd have 20
- different connections to the SQL server, one from each child.
-
- <P>An important summary. Persistent connections were designed to
- have one-to-one mapping to regular connections. That means that you
- should <B>always</B> be able to replace persistent connections with
- non-persistent connections, and it won't change the way your script
- behaves. It <B>may</B> (and probably will) change the efficiency
- of the script, but not its behavior!
- <P>
- </DD>
-</DL>
-
-<H3>Common Problems</H3>
-
-<DL>
- <DT><b>
- I installed PHP3, but every time I load a document, I get the
- message 'Document Contains No Data'! What's going on here?
- </b></DT>
- <DD>
- This probably means that PHP3 is having some sort of problem
- and is core-dumping. Look in your server error log to see if
- this is the case, and then try to reproduce the problem with
- a small test case. If you know how to use 'gdb', it is very
- helpful when you can provide a backtrace with your bug report
- to help the developers pinpoint the problem.
- <P>
- If your script uses the regular expression functions (<CODE>ereg()</CODE>
- and friends), you should make sure that you compiled PHP3 and
- Apache with the same regular expression package. (This should
- happen automatically with PHP3 and Apache 1.3.)
- <P>
- </DD>
-
- <DT><B>
- I'm trying to access one of the standard CGI variables (such
- as $DOCUMENT_ROOT or $HTTP_REFERER) in a user-defined function,
- and it can't seem to find it. What's wrong?
- </B></DT>
- <DD>
- Environment variables are now normal global variables, so you must
- either declare them as global variables in your function (by using
- "<CODE>global $DOCUMENT_ROOT;</CODE>", for example) or by using
- the global variable array (ie, "<CODE>$GLOBALS["DOCUMENT_ROOT"]</CODE>".
- <P>
- </DD>
-
- <DT><B>
- I think I found a bug! Who should I tell?
- </B></DT>
- <DD>
- You should go to the PHP Bug Database and make sure the bug
- isn't a known bug. If you don't see it in the database, use
- the reporting form to report the bug. It is important to use
- the bug database instead of just sending an email to one of the
- mailing lists because the bug will have a tracking number assigned
- and it will then be possible for you to go back later and check
- on the status of the bug. The bug database can be found at <A
- href="http://ca.php.net/bugs.php3">http://ca.php.net/bugs.php3</A>.
- <P>
- </DD>
-</DL>
-
-<HR noshade>
-
-<H2>Migrating from PHP/FI 2.0</H2>
-
-<H3>Common Problems</H3>
-
-<DL>
- <DT><B>
- When I add two strings together and then echo it, it echoes zero instead
- of the concatenation of the two strings! What's going on? Wouldn't it
- be great if adding two strings just concatenated them together?
- </B></DT>
- <DD>
- PHP3 does not support the overloading of the addition operator for
- strings because values that arrive via the GET and POST methods and
- from databases are always stored as strings. This means that if the
- plus operator were overloaded to concatenate strings, you could add
- what you thought were two numbers and get the wrong result! (For
- example, "4" + "5" would be equal to "45".) One way around this would
- be to explicitly type-cast one or both of the operands, which is what
- PHP/FI 2 did.
-
- <P>This has been simplified in PHP3 by the addition of a real string
- concatenation operator. If you want to "add" two strings together,
- just write it like: <CODE>"this" . "that"</CODE> which will result in
- the string "thisthat".
-
- <P>The answer to the final part of the question is an emphatic no.
- Operator overloading can be a source of great confusion, especially
- when variables aren't very strongly typed to begin with, as they are
- in PHP3.
- <P>
- </DD>
-
- <DT><B>
- When I use the chmod(), umask(), or mkdir() functions, the permissions
- are wrong!
- </B></DT>
- <DD>
- Unlike PHP/FI 2, PHP3 does not interpret the numeric arguments for
- these functions any differently than for any other function, which
- means you need to pass in an octal value if you are specifying an
- octal number, such as:
-<PRE>
- chmod($myfile, 0600);
-</PRE>
- <B>not</B>
-<PRE>
- chmod($myfile, 600);
-</PRE>
- <P>
- </DD>
-
- <DT><B>
- I converted my script from PHP/FI 2.0 to PHP3 syntax, but now it just
- hangs! When I looked at the processes running on my server, there was
- one process that was chewing up all of the CPU cycles!
- </B></DT>
- <DD>
- You probably missed the semi-colon on a <CODE>while
- (condition);</CODE> statement. This will cause PHP3 to spin out of
- control because it is simply executing an empty body for your while
- loop! Change the semi-colon to a colon and it should work correctly.
- <P>
- </DD>
-
- <DT><B>
- My user-functions don't work any more! I get a "Parse error (expecting '('"
- on the first line of the function.
- </B></DT>
- <DD>
- PHP3's function declaration now resembles C function declarations, so
- your function should look like:
- <PRE>
- function printsum($a, $b) {
- echo $a + $b;
- }
- </PRE>
- <P>You can also use old-style function declarations by use the
- 'old_function' designation, like so:
- <PRE>
- old_function printsum $a, $b (
- echo $a + $b;
- );
- </PRE>
- <P>
- </DD>
-</DL>
-
-<HR noshade>
-
-<H2>Credits</H2>
-
-<P>This FAQ was originally written by Jim Winstead. It is currently
-maintained by the PHP Development Team.
-
-<P>
- <!-- end body -->
- </TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
- <TR valign=top BGCOLOR="#5B69A6">
- <TD ALIGN=left width="150">
- <IMG SRC='/gifs/spacer.gif' WIDTH=150 HEIGHT=1 BORDER=0 ALT=' '><BR>
- </TD>
- <TD ALIGN=left width="100%" BGCOLOR="#FFFFFF">
- <IMG SRC="/gifs/corner-bl.gif" WIDTH=12 HEIGHT=12 BORDER=0><BR>
- </TD>
- </TR>
- <TR valign=top>
- <TD ALIGN=left width="150" BGCOLOR="#5B69A6">
- <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH="150">
- <TR VALIGN=bottom>
- <TD ALIGN=left>
- <IMG SRC='/gifs/spacer.gif' WIDTH=1 HEIGHT=3 BORDER=0 ALT=' '><BR>
-<A HREF="/credits.php3" onMouseover="change('cred',1);"
- onMouseout="hide();"><IMG SRC="/gifs/b-credits-p.gif"
- ALT="Who's responsible for this?"
- WIDTH=129 HEIGHT=30 BORDER=0
- NAME="cred"
- HSPACE=10 VSPACE=0></A><BR>
-<A HREF="#top" onMouseover="change('top',1);"
- onMouseout="hide();"><IMG SRC="/gifs/b-top-p.gif"
- ALT="Top of this page"
- WIDTH=129 HEIGHT=30 BORDER=0
- NAME="top"
- HSPACE=10 VSPACE=0></A><BR>
- <IMG SRC="/gifs/cap-bl.gif" WIDTH=9 HEIGHT=9 BORDER=0><BR>
- </TD>
- </TR>
- </TABLE>
- </TD>
- <TD align=left width="100%">
- <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 width="100%">
- <TR VALIGN=middle>
- <TD ALIGN=center BGCOLOR="#5B69A6">
- <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0>
- <TR VALIGN=middle>
- <TD align=right>
- <FONT FACE="tahoma, verdana, arial, helvetica, sans-serif" SIZE=1>
- <I>Site<BR>Hosting:</I><BR>
- </TD>
- <TD>
- <IMG SRC='/gifs/spacer.gif' WIDTH=5 HEIGHT=1 BORDER=0 ALT=' '><BR>
- </TD>
- <TD>
- <A HREF="http://BestHost.net/"><IMG SRC="/gifs/logo-besthost.gif" WIDTH=190 HEIGHT=48 BORDER=0 vspace=12></A><BR>
- </TD>
- </TR>
- </TABLE>
- </TD>
- <TD ALIGN=right BGCOLOR="#5B69A6">
- <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0>
- <TR VALIGN=middle>
- <TD align=center>
-<FONT FACE="tahoma, verdana, arial, helvetica, sans-serif" SIZE=2>
-<FONT SIZE=1><I>Located in</I></FONT><BR>United States </TD>
- <TD><IMG SRC='/gifs/spacer.gif' WIDTH=5 HEIGHT=1 BORDER=0 ALT=' '></TD>
- <TD>
- <IMG SRC="/gifs/flag-us.gif" BORDER=0></TD>
- <TD>
- <IMG SRC="/gifs/cap-right2.gif" WIDTH=24 HEIGHT=72 BORDER=0></TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
-</TABLE>
-
-</BODY>
-</HTML>
+++ /dev/null
-diff -upr php-4.1.2/ext/domxml/config.m4 php-4.1.2-dom-xslt/ext/domxml/config.m4
---- php-4.1.2/ext/domxml/config.m4 Thu Oct 4 08:42:45 2001
-+++ php-4.1.2-dom-xslt/ext/domxml/config.m4 Fri Jan 18 08:58:47 2002
-@@ -1,5 +1,6 @@
--dnl $Id$
--dnl config.m4 for extension domxml
-+dnl
-+dnl $Id$
-+dnl
-
- AC_DEFUN(PHP_DOM_CHECK_VERSION,[
- old_CPPFLAGS=$CPPFLAGS
-@@ -20,17 +21,16 @@ AC_DEFUN(PHP_DOM_CHECK_VERSION,[
-
- PHP_ARG_WITH(dom, for DOM support,
- [ --with-dom[=DIR] Include DOM support (requires libxml >= 2.4.2).
-- DIR is the libxml install directory,
-- defaults to /usr.])
-+ DIR is the libxml install directory.])
-
- if test "$PHP_DOM" != "no"; then
-
- DOMXML_DIR_ADD=""
-- if test -r $PHP_DOM/include/libxml/tree.h; then
-- DOMXML_DIR=$PHP_DOM
-- elif test -r $PHP_DOM/include/libxml2/libxml/tree.h; then
-+ if test -r $PHP_DOM/include/libxml2/libxml/tree.h; then
- DOMXML_DIR=$PHP_DOM
- DOMXML_DIR_ADD="/libxml2"
-+ elif test -r $PHP_DOM/include/libxml/tree.h; then
-+ DOMXML_DIR=$PHP_DOM
- else
- for i in /usr/local /usr; do
- test -r $i/include/libxml/tree.h && DOMXML_DIR=$i
-@@ -63,4 +63,110 @@ if test "$PHP_DOM" != "no"; then
- AC_DEFINE(HAVE_DOMXML,1,[ ])
- PHP_EXTENSION(domxml, $ext_shared)
- PHP_SUBST(DOMXML_SHARED_LIBADD)
-+fi
-+
-+AC_DEFUN(PHP_DOM_XSLT_CHECK_VERSION,[
-+ old_CPPFLAGS=$CPPFLAGS
-+ CPPFLAGS=-I$DOMXSLT_DIR/include
-+ AC_MSG_CHECKING(for libxslt version)
-+ AC_EGREP_CPP(yes,[
-+ #include <libxslt/xsltconfig.h>
-+ #if LIBXSLT_VERSION >= 10003
-+ yes
-+ #endif
-+ ],[
-+ AC_MSG_RESULT(>= 1.0.3)
-+ ],[
-+ AC_MSG_ERROR(libxslt version 1.0.3 or greater required.)
-+ ])
-+ CPPFLAGS=$old_CPPFLAGS
-+])
-+
-+AC_DEFUN(PHP_DOM_EXSLT_CHECK_VERSION,[
-+ old_CPPFLAGS=$CPPFLAGS
-+ CPPFLAGS=-I$DOMEXSLT_DIR/include
-+ AC_MSG_CHECKING(for libexslt version)
-+ AC_EGREP_CPP(yes,[
-+ #include <libexslt/exsltconfig.h>
-+ #if LIBEXSLT_VERSION >= 600
-+ yes
-+ #endif
-+ ],[
-+ AC_MSG_RESULT(>= 1.0.3)
-+ ],[
-+ AC_MSG_ERROR(libxslt version 1.0.3 or greater required.)
-+ ])
-+ CPPFLAGS=$old_CPPFLAGS
-+])
-+
-+PHP_ARG_WITH(dom-xslt, for DOM XSLT support,
-+[ --with-dom-xslt[=DIR] Include DOM XSLT support (requires libxslt >= 1.0.3).
-+ DIR is the libxslt install directory.])
-+
-+PHP_ARG_WITH(dom-exslt, for DOM EXSLT support,
-+[ --with-dom-exslt[=DIR] Include DOM EXSLT support (requires libxslt >= 1.0.3).
-+ DIR is the libexslt install directory.])
-+
-+if test "$PHP_DOM_XSLT" != "no"; then
-+
-+ if test -r $PHP_DOM_XSLT/include/libxslt/transform.h; then
-+ DOMXSLT_DIR=$PHP_DOM_XSLT
-+ else
-+ for i in /usr/local /usr; do
-+ test -r $i/include/libxslt/transform.h && DOMXSLT_DIR=$i
-+ done
-+ fi
-+
-+ if test -z "$DOMXSLT_DIR"; then
-+ AC_MSG_RESULT(not found)
-+ AC_MSG_ERROR(Please reinstall the libxslt >= 1.0.3 distribution)
-+ fi
-+
-+ PHP_DOM_XSLT_CHECK_VERSION
-+
-+ PHP_ADD_LIBRARY_WITH_PATH(xslt, $DOMXSLT_DIR/lib, DOMXML_SHARED_LIBADD)
-+
-+ PHP_ADD_INCLUDE($DOMXSLT_DIR/include)
-+
-+ if test "$PHP_DOM" = "no"; then
-+ AC_MSG_ERROR(DOMXSLT requires DOMXML. Use --with-dom=<DIR>)
-+ fi
-+
-+ AC_DEFINE(HAVE_DOMXSLT,1,[ ])
-+
-+ PHP_SUBST(DOMXML_SHARED_LIBADD)
-+fi
-+
-+if test "$PHP_DOM_EXSLT" != "no"; then
-+ if test "$PHP_DOM" = "no"; then
-+ AC_MSG_ERROR(DOMEXSLT requires DOMXML. Use --with-dom=<DIR>)
-+ fi
-+
-+ if test "$PHP_DOM_XSLT" = "no"; then
-+ AC_MSG_ERROR(DOMEXSLT requires DOMXSLT. Use --with-dom-xslt=<DIR>)
-+ fi
-+
-+ if test -r $PHP_DOM_EXSLT/include/libexslt/exslt.h; then
-+ DOMEXSLT_DIR=$PHP_DOM_EXSLT
-+ else
-+ for i in /usr/local /usr; do
-+ test -r $i/include/libexslt/exslt.h && DOMEXSLT_DIR=$i
-+ done
-+ fi
-+
-+ if test -z "$DOMEXSLT_DIR"; then
-+ AC_MSG_RESULT(not found)
-+ AC_MSG_ERROR(Please reinstall the libxslt >= 1.0.3 distribution)
-+ fi
-+
-+ PHP_DOM_EXSLT_CHECK_VERSION
-+
-+ PHP_ADD_LIBRARY_WITH_PATH(exslt, $DOMEXSLT_DIR/lib, DOMXML_SHARED_LIBADD)
-+
-+ PHP_ADD_INCLUDE($DOMEXSLT_DIR/include)
-+
-+ AC_DEFINE(HAVE_DOMEXSLT,1,[ ])
-+
-+ PHP_SUBST(DOMXML_SHARED_LIBADD)
-+
- fi
-diff -upr php-4.1.2/ext/domxml/php_domxml.c php-4.1.2-dom-xslt/ext/domxml/php_domxml.c
---- php-4.1.2/ext/domxml/php_domxml.c Fri Dec 14 11:45:46 2001
-+++ php-4.1.2-dom-xslt/ext/domxml/php_domxml.c Tue Feb 26 17:03:46 2002
-@@ -16,7 +16,11 @@
- +----------------------------------------------------------------------+
- */
-
--/* $Id$ */
-+/* $Id$ */
-+
-+/* TODO
-+ * - Support Notation Nodes
-+ * */
-
-
- #ifdef HAVE_CONFIG_H
-@@ -33,7 +37,7 @@
-
- /* General macros used by domxml */
- #define DOMXML_DOMOBJ_NEW(zval, obj, ret) if (NULL == (zval = php_domobject_new(obj, ret TSRMLS_CC))) { \
-- php_error(E_WARNING, "%s() cannot create required DOM object", \
-+ php_error(E_WARNING, "%s(): cannot create required DOM object", \
- get_active_function_name(TSRMLS_C)); \
- RETURN_FALSE; \
- }
-@@ -46,13 +50,13 @@
- DOMXML_RET_ZVAL(zval);
-
- #define DOMXML_GET_THIS(zval) if (NULL == (zval = getThis())) { \
-- php_error(E_WARNING, "%s() underlying object missing", \
-+ php_error(E_WARNING, "%s(): underlying object missing", \
- get_active_function_name(TSRMLS_C)); \
- RETURN_FALSE; \
- }
-
- #define DOMXML_GET_OBJ(ret, zval, le) if (NULL == (ret = php_dom_get_object(zval, le, 0 TSRMLS_CC))) { \
-- php_error(E_WARNING, "%s() cannot fetch DOM object", \
-+ php_error(E_WARNING, "%s(): cannot fetch DOM object", \
- get_active_function_name(TSRMLS_C)); \
- RETURN_FALSE; \
- }
-@@ -80,6 +84,17 @@
- } \
- DOMXML_GET_OBJ(ret, zval, le);
-
-+#define DOMXML_PARAM_ONE(ret, zval, le, s, p1) if (NULL == (zval = getThis())) { \
-+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o"s, &zval, p1) == FAILURE) { \
-+ return; \
-+ } \
-+ } else { \
-+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, s, p1) == FAILURE) { \
-+ return; \
-+ } \
-+ } \
-+ DOMXML_GET_OBJ(ret, zval, le);
-+
- #define DOMXML_PARAM_TWO(ret, zval, le, s, p1, p2) if (NULL == (zval = getThis())) { \
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o"s, &zval, p1, p2) == FAILURE) { \
- return; \
-@@ -91,6 +106,18 @@
- } \
- DOMXML_GET_OBJ(ret, zval, le);
-
-+#define DOMXML_PARAM_THREE(ret, zval, le, s, p1, p2, p3) if (NULL == (zval = getThis())) { \
-+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o"s, &zval, p1, p2, p3) == FAILURE) { \
-+ return; \
-+ } \
-+ } else { \
-+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, s, p1, p2, p3) == FAILURE) { \
-+ return; \
-+ } \
-+ } \
-+ DOMXML_GET_OBJ(ret, zval, le);
-+
-+
- #define DOMXML_PARAM_FOUR(ret, zval, le, s, p1, p2, p3, p4) if (NULL == (zval = getThis())) { \
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o"s, &zval, p1, p2, p3, p4) == FAILURE) { \
- return; \
-@@ -102,6 +129,7 @@
- } \
- DOMXML_GET_OBJ(ret, zval, le);
-
-+
- static int le_domxmldocp;
- static int le_domxmldoctypep;
- static int le_domxmldtdp;
-@@ -116,6 +144,9 @@ static int le_domxmlnotationp;
- /*static int le_domxmlentityp;*/
- static int le_domxmlentityrefp;
- /*static int le_domxmlnsp;*/
-+#if HAVE_DOMXSLT
-+static int le_domxsltstylesheetp;
-+#endif
-
- #if defined(LIBXML_XPATH_ENABLED)
- static int le_xpathctxp;
-@@ -140,6 +171,9 @@ zend_class_entry *domxmlns_class_entry;
- zend_class_entry *xpathctx_class_entry;
- zend_class_entry *xpathobject_class_entry;
- #endif
-+#if HAVE_DOMXSLT
-+zend_class_entry *domxsltstylesheet_class_entry;
-+#endif
-
-
- static int node_attributes(zval **attributes, xmlNode *nodep TSRMLS_DC);
-@@ -149,28 +183,48 @@ static zend_function_entry domxml_functi
- PHP_FE(domxml_version, NULL)
- PHP_FE(xmldoc, NULL)
- PHP_FE(xmldocfile, NULL)
-+#if defined(LIBXML_HTML_ENABLED)
-+ PHP_FE(html_doc, NULL)
-+ PHP_FE(html_doc_file, NULL)
-+#endif
- PHP_FE(xmltree, NULL)
-+ PHP_FE(domxml_substitute_entities_default, NULL)
- PHP_FE(domxml_add_root, NULL)
-- PHP_FE(domxml_dumpmem, NULL)
-+ PHP_FE(domxml_dump_mem, NULL)
-+ PHP_FE(domxml_dump_mem_file, NULL)
-+ PHP_FE(domxml_dump_node, NULL)
-+#if defined(LIBXML_HTML_ENABLED)
-+ PHP_FE(domxml_html_dump_mem, NULL)
-+#endif
- PHP_FE(domxml_node_attributes, NULL)
- PHP_FE(domxml_elem_get_attribute, NULL)
- PHP_FE(domxml_elem_set_attribute, NULL)
- PHP_FE(domxml_node_children, NULL)
-+ PHP_FE(domxml_node_has_attributes, NULL)
- PHP_FE(domxml_node_new_child, NULL)
- PHP_FE(domxml_node, NULL)
- PHP_FE(domxml_node_unlink_node, NULL)
- PHP_FE(domxml_node_set_content, NULL)
-+ PHP_FE(domxml_node_get_content, NULL)
- PHP_FE(domxml_new_xmldoc, NULL)
-
- #if defined(LIBXML_XPATH_ENABLED)
- PHP_FE(xpath_new_context, NULL)
- PHP_FE(xpath_eval, NULL)
- PHP_FE(xpath_eval_expression, NULL)
-+ PHP_FE(xpath_register_ns, NULL)
- #endif
- #if defined(LIBXML_XPTR_ENABLED)
- PHP_FE(xptr_new_context, NULL)
- PHP_FE(xptr_eval, NULL)
- #endif
-+#if HAVE_DOMXSLT
-+ PHP_FE(domxml_xslt_version, NULL)
-+ PHP_FE(domxml_xslt_stylesheet, NULL)
-+ PHP_FE(domxml_xslt_stylesheet_doc, NULL)
-+ PHP_FE(domxml_xslt_stylesheet_file, NULL)
-+ PHP_FE(domxml_xslt_process, NULL)
-+#endif
-
- PHP_FALIAS(domxml_root, domxml_doc_document_element, NULL)
- PHP_FALIAS(domxml_attributes, domxml_node_attributes, NULL)
-@@ -183,6 +237,8 @@ static zend_function_entry domxml_functi
- PHP_FALIAS(domxml_unlink_node, domxml_node_unlink_node, NULL)
- PHP_FALIAS(set_content, domxml_node_set_content, NULL)
- PHP_FALIAS(new_xmldoc, domxml_new_xmldoc, NULL)
-+ PHP_FALIAS(domxml_dumpmem, domxml_dump_mem, NULL)
-+
- {NULL, NULL, NULL}
- };
-
-@@ -206,7 +262,12 @@ static function_entry php_domxmldoc_clas
- PHP_FALIAS(add_root, domxml_add_root, NULL)
- PHP_FALIAS(imported_node, domxml_doc_imported_node, NULL)
- PHP_FALIAS(dtd, domxml_intdtd, NULL)
-- PHP_FALIAS(dumpmem, domxml_dumpmem, NULL)
-+ PHP_FALIAS(dumpmem, domxml_dump_mem, NULL)
-+ PHP_FALIAS(dump_mem, domxml_dump_mem, NULL)
-+ PHP_FALIAS(dump_mem_file, domxml_dump_mem_file, NULL)
-+#if defined(LIBXML_HTML_ENABLED)
-+ PHP_FALIAS(html_dump_mem, domxml_html_dump_mem, NULL)
-+#endif
- #if defined(LIBXML_XPATH_ENABLED)
- PHP_FALIAS(xpath_init, xpath_init, NULL)
- PHP_FALIAS(xpath_new_context, xpath_new_context, NULL)
-@@ -217,13 +278,13 @@ static function_entry php_domxmldoc_clas
-
- static function_entry php_domxmldoctype_class_functions[] = {
- PHP_FALIAS(name, domxml_doctype_name, NULL)
--/*
-+/*
- PHP_FALIAS(entities, domxml_doctype_entities, NULL)
- PHP_FALIAS(notations, domxml_doctype_notations, NULL)
- PHP_FALIAS(system_id, domxml_doctype_system_id, NULL)
- PHP_FALIAS(public_id, domxml_doctype_public_id, NULL)
- PHP_FALIAS(internal_subset, domxml_doctype_internal_subset, NULL)
--*/
-+*/
- {NULL, NULL, NULL}
- };
-
-@@ -249,16 +310,20 @@ static zend_function_entry php_domxmlnod
- PHP_FALIAS(owner_document, domxml_node_owner_document, NULL)
- PHP_FALIAS(new_child, domxml_node_new_child, NULL)
- PHP_FALIAS(attributes, domxml_node_attributes, NULL)
-+ PHP_FALIAS(has_attributes, domxml_node_has_attributes, NULL)
- PHP_FALIAS(node, domxml_node, NULL)
- PHP_FALIAS(unlink, domxml_node_unlink_node, NULL)
-+ PHP_FALIAS(replace_node, domxml_node_replace_node, NULL)
- PHP_FALIAS(set_content, domxml_node_set_content, NULL)
-+ PHP_FALIAS(get_content, domxml_node_get_content, NULL)
- PHP_FALIAS(text_concat, domxml_node_text_concat, NULL)
- PHP_FALIAS(set_name, domxml_node_set_name, NULL)
- PHP_FALIAS(node_name, domxml_node_name, NULL)
- PHP_FALIAS(node_type, domxml_node_type, NULL)
- PHP_FALIAS(node_value, domxml_node_value, NULL)
- PHP_FALIAS(clone_node, domxml_clone_node, NULL)
-- PHP_FALIAS(is_blank_node, domxml_is_blank_node, NULL)
-+ PHP_FALIAS(is_blank_node, domxml_is_blank_node, NULL)
-+ PHP_FALIAS(dump_node, domxml_dump_node, NULL)
- {NULL, NULL, NULL}
- };
-
-@@ -299,7 +364,7 @@ static zend_function_entry php_domxmlent
- };
-
- static zend_function_entry php_domxmlentity_class_functions[] = {
--/*
-+/*
- PHP_FALIAS(public_id, domxml_entity_public_id, NULL)
- PHP_FALIAS(system_id, domxml_entity_system_id, NULL)
- PHP_FALIAS(notation_name, domxml_entity_notation_name, NULL)
-@@ -317,6 +382,7 @@ static zend_function_entry php_domxmlpi_
- static zend_function_entry php_xpathctx_class_functions[] = {
- PHP_FALIAS(xpath_eval, xpath_eval, NULL)
- PHP_FALIAS(xpath_eval_expression, xpath_eval_expression, NULL)
-+ PHP_FALIAS(xpath_register_ns, xpath_register_ns, NULL)
- {NULL, NULL, NULL}
- };
-
-@@ -329,7 +395,7 @@ static zend_function_entry php_domxmlatt
- PHP_FALIAS(name, domxml_attr_name, NULL)
- PHP_FALIAS(value, domxml_attr_value, NULL)
- PHP_FALIAS(specified, domxml_attr_specified, NULL)
--/*
-+/*
- PHP_FALIAS(owner_element, domxml_attr_owner_element, NULL)
- */
- {NULL, NULL, NULL}
-@@ -339,8 +405,16 @@ static zend_function_entry php_domxmlns_
- {NULL, NULL, NULL}
- };
-
-+#if HAVE_DOMXSLT
-+static zend_function_entry php_domxsltstylesheet_class_functions[] = {
-+/* TODO: maybe some more methods? */
-+ PHP_FALIAS(process, domxml_xslt_process, NULL)
-+ {NULL, NULL, NULL}
-+};
-+#endif
-+
- zend_module_entry domxml_module_entry = {
-- STANDARD_MODULE_HEADER,
-+ STANDARD_MODULE_HEADER,
- "domxml",
- domxml_functions,
- PHP_MINIT(domxml),
-@@ -348,7 +422,7 @@ zend_module_entry domxml_module_entry =
- PHP_RINIT(domxml),
- NULL,
- PHP_MINFO(domxml),
-- NO_VERSION_YET,
-+ NO_VERSION_YET,
- STANDARD_MODULE_PROPERTIES
- };
-
-@@ -370,14 +444,14 @@ static void dom_object_set_data(void *ob
-
- static zval *dom_object_get_data(void *obj)
- {
--/*
-+/*
- char tmp[20];
- sprintf(tmp, "%08X", obj);
- fprintf(stderr, "Trying getting %s from object ...", tmp);
- if(((xmlNodePtr) obj)->_private)
- fprintf(stderr, " found\n");
- else
-- fprintf(stderr, " not found\n");
-+ fprintf(stderr, " not found\n");
- */
- return ((zval *) (((xmlNodePtr) obj)->_private));
- }
-@@ -411,9 +485,14 @@ static inline void node_list_wrapper_dto
- {
- while (node != NULL) {
- node_list_wrapper_dtor(node->children);
-- // FIXME temporary fix; think of something better
-- if (node->type != XML_ATTRIBUTE_DECL && node->type != XML_DTD_NODE) {
-- attr_list_wrapper_dtor(node->properties);
-+ switch (node->type) {
-+ /* Skip property freeing for the following types */
-+ case XML_ATTRIBUTE_DECL:
-+ case XML_DTD_NODE:
-+ case XML_ENTITY_DECL:
-+ break;
-+ default:
-+ attr_list_wrapper_dtor(node->properties);
- }
- node_wrapper_dtor(node);
- node = node->next;
-@@ -474,6 +553,92 @@ static void php_free_xpath_object(zend_r
- #endif
-
-
-+#if HAVE_DOMXSLT
-+static void php_free_xslt_stylesheet(zend_rsrc_list_entry *rsrc TSRMLS_DC)
-+{
-+ xsltStylesheetPtr sheet = (xsltStylesheetPtr) rsrc->ptr;
-+
-+ if (sheet) {
-+ node_wrapper_dtor((xmlNodePtr) sheet);
-+ xsltFreeStylesheet(sheet);
-+ }
-+}
-+
-+static void xsltstylesheet_set_data(void *obj, zval *wrapper)
-+{
-+/*
-+ char tmp[20];
-+ sprintf(tmp, "%08X", obj);
-+ fprintf(stderr, "Adding %s to hash\n", tmp);
-+*/
-+ ((xsltStylesheetPtr) obj)->_private = wrapper;
-+}
-+
-+
-+static zval *xsltstylesheet_get_data(void *obj)
-+{
-+/*
-+ char tmp[20];
-+ sprintf(tmp, "%08X", obj);
-+ fprintf(stderr, "Trying getting %s from object ...", tmp);
-+ if(((xmlNodePtr) obj)->_private)
-+ fprintf(stderr, " found\n");
-+ else
-+ fprintf(stderr, " not found\n");
-+*/
-+ return ((zval *) (((xsltStylesheetPtr) obj)->_private));
-+}
-+
-+void *php_xsltstylesheet_get_object(zval *wrapper, int rsrc_type1, int rsrc_type2 TSRMLS_DC)
-+{
-+ void *obj;
-+ zval **handle;
-+ int type;
-+
-+ if (NULL == wrapper) {
-+ php_error(E_WARNING, "xsltstylesheet_get_object() invalid wrapper object passed");
-+ return NULL;
-+ }
-+
-+ if (Z_TYPE_P(wrapper) != IS_OBJECT) {
-+ php_error(E_WARNING, "%s(): wrapper is not an object", get_active_function_name(TSRMLS_C));
-+ return NULL;
-+ }
-+
-+ if (zend_hash_index_find(Z_OBJPROP_P(wrapper), 0, (void **) &handle) == FAILURE) {
-+ php_error(E_WARNING, "%s(): underlying object missing", get_active_function_name(TSRMLS_C));
-+ return NULL;
-+ }
-+
-+ obj = zend_list_find(Z_LVAL_PP(handle), &type);
-+ if (!obj || ((type != rsrc_type1) && (type != rsrc_type2))) {
-+ php_error(E_WARNING, "%s(): underlying object missing or of invalid type", get_active_function_name(TSRMLS_C));
-+ return NULL;
-+ }
-+
-+ return obj;
-+}
-+
-+static void php_xsltstylesheet_set_object(zval *wrapper, void *obj, int rsrc_type)
-+{
-+ zval *handle, *addr;
-+
-+ MAKE_STD_ZVAL(handle);
-+ Z_TYPE_P(handle) = IS_LONG;
-+ Z_LVAL_P(handle) = zend_list_insert(obj, rsrc_type);
-+
-+ MAKE_STD_ZVAL(addr);
-+ Z_TYPE_P(addr) = IS_LONG;
-+ Z_LVAL_P(addr) = (int) obj;
-+
-+ zend_hash_index_update(Z_OBJPROP_P(wrapper), 0, &handle, sizeof(zval *), NULL);
-+ zend_hash_index_update(Z_OBJPROP_P(wrapper), 1, &addr, sizeof(zval *), NULL);
-+ zval_add_ref(&wrapper);
-+ xsltstylesheet_set_data(obj, wrapper);
-+}
-+#endif /* HAVE_DOMXSLT */
-+
-+
- void *php_xpath_get_object(zval *wrapper, int rsrc_type1, int rsrc_type2 TSRMLS_DC)
- {
- void *obj;
-@@ -486,18 +651,18 @@ void *php_xpath_get_object(zval *wrapper
- }
-
- if (Z_TYPE_P(wrapper) != IS_OBJECT) {
-- php_error(E_WARNING, "%s() wrapper is not an object", get_active_function_name(TSRMLS_C));
-+ php_error(E_WARNING, "%s(): wrapper is not an object", get_active_function_name(TSRMLS_C));
- return NULL;
- }
-
- if (zend_hash_index_find(Z_OBJPROP_P(wrapper), 0, (void **) &handle) == FAILURE) {
-- php_error(E_WARNING, "%s() underlying object missing", get_active_function_name(TSRMLS_C));
-+ php_error(E_WARNING, "%s(): underlying object missing", get_active_function_name(TSRMLS_C));
- return NULL;
- }
-
- obj = zend_list_find(Z_LVAL_PP(handle), &type);
- if (!obj || ((type != rsrc_type1) && (type != rsrc_type2))) {
-- php_error(E_WARNING, "%s() underlying object missing or of invalid type", get_active_function_name(TSRMLS_C));
-+ php_error(E_WARNING, "%s(): underlying object missing or of invalid type", get_active_function_name(TSRMLS_C));
- return NULL;
- }
-
-@@ -507,7 +672,7 @@ void *php_xpath_get_object(zval *wrapper
-
- static void xpath_object_set_data(void *obj, zval *wrapper)
- {
--/*
-+/*
- char tmp[20];
- sprintf(tmp, "%08X", obj);
- fprintf(stderr, "Adding %s to hash\n", tmp);
-@@ -518,12 +683,12 @@ static void xpath_object_set_data(void *
-
- static zval *xpath_object_get_data(void *obj)
- {
--/*
-+/*
- char tmp[20];
- sprintf(tmp, "%08X", obj);
-- fprintf(stderr, "Trying getting %s from hash ...", tmp);
-+ fprintf(stderr, "Trying getting %s from hash ...", tmp);
- if(((xmlXPathObjectPtr) obj)->user)
-- fprintf(stderr, " found\n");
-+ fprintf(stderr, " found\n");
- else
- fprintf(stderr, " not found\n");
- */
-@@ -574,7 +739,7 @@ static zval *php_xpathobject_new(xmlXPat
-
- /*
- rsrc_type = le_xpathobjectp;
-- php_xpath_set_object(wrapper, (void *) obj, rsrc_type);
-+ php_xpath_set_object(wrapper, (void *) obj, rsrc_type);
- */
-
- php_xpath_set_object(wrapper, (void *) obj, le_xpathobjectp);
-@@ -594,19 +759,19 @@ void *php_xpath_get_context(zval *wrappe
- }
-
- if (Z_TYPE_P(wrapper) != IS_OBJECT) {
-- php_error(E_WARNING, "%s() wrapper is not an object", get_active_function_name(TSRMLS_C));
-+ php_error(E_WARNING, "%s(): wrapper is not an object", get_active_function_name(TSRMLS_C));
- return NULL;
- }
-
- if (zend_hash_index_find(Z_OBJPROP_P(wrapper), 0, (void **) &handle) ==
- FAILURE) {
-- php_error(E_WARNING, "%s() underlying object missing", get_active_function_name(TSRMLS_C));
-+ php_error(E_WARNING, "%s(): underlying object missing", get_active_function_name(TSRMLS_C));
- return NULL;
- }
-
- obj = zend_list_find(Z_LVAL_PP(handle), &type);
- if (!obj || ((type != rsrc_type1) && (type != rsrc_type2))) {
-- php_error(E_WARNING, "%s() Underlying object missing or of invalid type", get_active_function_name(TSRMLS_C));
-+ php_error(E_WARNING, "%s(): underlying object missing or of invalid type", get_active_function_name(TSRMLS_C));
- return NULL;
- }
-
-@@ -628,9 +793,9 @@ static zval *xpath_context_get_data(void
- /*
- char tmp[20];
- sprintf(tmp, "%08X", obj);
-- fprintf(stderr, "Trying getting %s from hash ...", tmp);
-+ fprintf(stderr, "Trying getting %s from hash ...", tmp);
- if(((xmlXPathContextPtr) obj)->user)
-- fprintf(stderr, " found\n");
-+ fprintf(stderr, " found\n");
- else
- fprintf(stderr, " not found\n");
- */
-@@ -661,7 +826,7 @@ static zval *php_xpathcontext_new(xmlXPa
- int rsrc_type;
-
- if (! found) {
-- *found = 0;
-+ *found = 0;
- }
-
- if (!obj) {
-@@ -677,8 +842,8 @@ static zval *php_xpathcontext_new(xmlXPa
- }
-
- MAKE_STD_ZVAL(wrapper);
--/*
-- fprintf(stderr, "Adding new XPath Context\n");
-+/*
-+ fprintf(stderr, "Adding new XPath Context\n");
- */
- object_init_ex(wrapper, xpathctx_class_entry);
- rsrc_type = le_xpathctxp;
-@@ -700,12 +865,12 @@ void *php_dom_get_object(zval *wrapper,
- }
-
- if (Z_TYPE_P(wrapper) != IS_OBJECT) {
-- php_error(E_WARNING, "%s() wrapper is not an object", get_active_function_name(TSRMLS_C));
-+ php_error(E_WARNING, "%s(): wrapper is not an object", get_active_function_name(TSRMLS_C));
- return NULL;
- }
-
- if (zend_hash_index_find(Z_OBJPROP_P(wrapper), 0, (void **) &handle) == FAILURE) {
-- php_error(E_WARNING, "%s() underlying object missing", get_active_function_name(TSRMLS_C));
-+ php_error(E_WARNING, "%s(): underlying object missing", get_active_function_name(TSRMLS_C));
- return NULL;
- }
-
-@@ -713,7 +878,7 @@ void *php_dom_get_object(zval *wrapper,
-
- /* The following test should be replaced with search in all parents */
- if (!obj) { /* || ((type != rsrc_type1) && (type != rsrc_type2))) { */
-- php_error(E_WARNING, "%s() underlying object missing or of invalid type", get_active_function_name(TSRMLS_C));
-+ php_error(E_WARNING, "%s(): underlying object missing or of invalid type", get_active_function_name(TSRMLS_C));
- return NULL;
- }
-
-@@ -747,7 +912,7 @@ static zval *php_domobject_new(xmlNodePt
- int rsrc_type;
-
- if (! found) {
-- *found = 0;
-+ *found = 0;
- }
-
- if (!obj) {
-@@ -795,8 +960,10 @@ static zval *php_domobject_new(xmlNodePt
- object_init_ex(wrapper, domxmlcomment_class_entry);
- rsrc_type = le_domxmlcommentp;
- content = xmlNodeGetContent(nodep);
-- if (content)
-+ if (content) {
-+ add_property_long(wrapper, "type", Z_TYPE_P(nodep));
- add_property_stringl(wrapper, "content", (char *) content, strlen(content), 1);
-+ }
- break;
- }
-
-@@ -817,7 +984,6 @@ static zval *php_domobject_new(xmlNodePt
- xmlNodePtr nodep = obj;
- object_init_ex(wrapper, domxmlentityref_class_entry);
- rsrc_type = le_domxmlentityrefp;
-- content = xmlNodeGetContent(nodep);
- add_property_stringl(wrapper, "name", (char *) nodep->name, strlen(nodep->name), 1);
- break;
- }
-@@ -851,8 +1017,10 @@ static zval *php_domobject_new(xmlNodePt
- }
-
- case XML_DOCUMENT_NODE:
-+ case XML_HTML_DOCUMENT_NODE:
- {
- xmlDocPtr docp = (xmlDocPtr) obj;
-+
- object_init_ex(wrapper, domxmldoc_class_entry);
- rsrc_type = le_domxmldocp;
- if (docp->name)
-@@ -863,7 +1031,10 @@ static zval *php_domobject_new(xmlNodePt
- add_property_stringl(wrapper, "url", (char *) docp->URL, strlen(docp->URL), 1);
- else
- add_property_stringl(wrapper, "url", "", 0, 1);
-- add_property_stringl(wrapper, "version", (char *) docp->version, strlen(docp->version), 1);
-+ if (docp->version)
-+ add_property_stringl(wrapper, "version", (char *) docp->version, strlen(docp->version), 1);
-+ else
-+ add_property_stringl(wrapper, "version", "", 0, 1);
- if (docp->encoding)
- add_property_stringl(wrapper, "encoding", (char *) docp->encoding, strlen(docp->encoding), 1);
- add_property_long(wrapper, "standalone", docp->standalone);
-@@ -900,8 +1071,8 @@ static zval *php_domobject_new(xmlNodePt
- break;
- }
-
-- default:
-- php_error(E_WARNING, "%s() unsupported node type: %d\n", get_active_function_name(TSRMLS_C), Z_TYPE_P(obj));
-+ default:
-+ php_error(E_WARNING, "%s(): unsupported node type: %d\n", get_active_function_name(TSRMLS_C), Z_TYPE_P(obj));
- FREE_ZVAL(wrapper);
- return NULL;
- }
-@@ -911,6 +1082,17 @@ static zval *php_domobject_new(xmlNodePt
- }
-
-
-+static void domxml_error(void *ctx, const char *msg, ...)
-+{
-+ char buf[1024];
-+ va_list ap;
-+ va_start(ap, msg);
-+ vsnprintf(buf, 1024, msg, ap);
-+ va_end(ap);
-+ php_error(E_WARNING, buf);
-+}
-+
-+
- PHP_RINIT_FUNCTION(domxml)
- {
- return SUCCESS;
-@@ -932,12 +1114,12 @@ PHP_MINIT_FUNCTION(domxml)
- le_domxmlelementp = zend_register_list_destructors_ex(php_free_xml_node, NULL, "domelement", module_number);
- le_domxmldtdp = zend_register_list_destructors_ex(php_free_xml_node, NULL, "domdtd", module_number);
- le_domxmlcdatap = zend_register_list_destructors_ex(php_free_xml_node, NULL, "domcdata", module_number);
-+ le_domxmlentityrefp = zend_register_list_destructors_ex(php_free_xml_node, NULL, "domentityref", module_number);
-+ le_domxmlpip = zend_register_list_destructors_ex(php_free_xml_node, NULL, "dompi", module_number);
-
- /* Not yet initialized le_*s */
- le_domxmldoctypep = -10000;
-- le_domxmlpip = -10002;
- le_domxmlnotationp = -10003;
-- le_domxmlentityrefp = -10004;
-
- #if defined(LIBXML_XPATH_ENABLED)
- le_xpathctxp = zend_register_list_destructors_ex(php_free_xpath_context, NULL, "xpathcontext", module_number);
-@@ -946,6 +1128,10 @@ PHP_MINIT_FUNCTION(domxml)
-
- /* le_domxmlnsp = register_list_destructors(NULL, NULL); */
-
-+#if HAVE_DOMXSLT
-+ le_domxsltstylesheetp = zend_register_list_destructors_ex(php_free_xslt_stylesheet, NULL, "xsltstylesheet", module_number);
-+#endif
-+
- INIT_OVERLOADED_CLASS_ENTRY(ce, "DomNode", php_domxmlnode_class_functions, NULL, NULL, NULL);
- domxmlnode_class_entry = zend_register_internal_class_ex(&ce, NULL, NULL TSRMLS_CC);
-
-@@ -996,6 +1182,11 @@ PHP_MINIT_FUNCTION(domxml)
- xpathobject_class_entry = zend_register_internal_class_ex(&ce, NULL, NULL TSRMLS_CC);
- #endif
-
-+#if HAVE_DOMXSLT
-+ INIT_OVERLOADED_CLASS_ENTRY(ce, "XsltStylesheet", php_domxsltstylesheet_class_functions, NULL, NULL, NULL);
-+ domxsltstylesheet_class_entry = zend_register_internal_class_ex(&ce, NULL, NULL TSRMLS_CC);
-+#endif
-+
- REGISTER_LONG_CONSTANT("XML_ELEMENT_NODE", XML_ELEMENT_NODE, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XML_ATTRIBUTE_NODE", XML_ATTRIBUTE_NODE, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XML_TEXT_NODE", XML_TEXT_NODE, CONST_CS | CONST_PERSISTENT);
-@@ -1040,6 +1231,15 @@ PHP_MINIT_FUNCTION(domxml)
- REGISTER_LONG_CONSTANT("XPATH_USERS", XPATH_USERS, CONST_CS | CONST_PERSISTENT);
- #endif
-
-+ xmlSetGenericErrorFunc(xmlGenericErrorContext, (xmlGenericErrorFunc)domxml_error);
-+#if HAVE_DOMXSLT
-+ xsltSetGenericErrorFunc(xsltGenericErrorContext, (xmlGenericErrorFunc)domxml_error);
-+#if HAVE_DOMEXSLT
-+ exsltRegisterAll();
-+#endif
-+#endif
-+
-+
- return SUCCESS;
- }
-
-@@ -1065,12 +1265,24 @@ PHP_MINFO_FUNCTION(domxml)
- php_info_print_table_start();
- php_info_print_table_row(2, "DOM/XML", "enabled");
- php_info_print_table_row(2, "libxml Version", LIBXML_DOTTED_VERSION);
-+#if defined(LIBXML_HTML_ENABLED)
-+ php_info_print_table_row(2, "HTML Support", "enabled");
-+#endif
- #if defined(LIBXML_XPATH_ENABLED)
- php_info_print_table_row(2, "XPath Support", "enabled");
- #endif
- #if defined(LIBXML_XPTR_ENABLED)
- php_info_print_table_row(2, "XPointer Support", "enabled");
- #endif
-+#if HAVE_DOMXSLT
-+ php_info_print_table_row(2, "DOM/XSLT", "enabled");
-+ php_info_print_table_row(2, "libxslt Version", LIBXSLT_DOTTED_VERSION);
-+#if HAVE_DOMEXSLT
-+ php_info_print_table_row(2, "DOM/EXSLT", "enabled");
-+ php_info_print_table_row(2, "libexslt Version", LIBEXSLT_DOTTED_VERSION);
-+#endif
-+#endif
-+
- php_info_print_table_end();
- }
-
-@@ -1318,13 +1530,13 @@ PHP_FUNCTION(domxml_is_blank_node)
- PHP_FUNCTION(domxml_node_type)
- {
- zval *id;
-- xmlNode *n;
-+ xmlNode *node;
-
-- DOMXML_GET_THIS_OBJ(n, id, le_domxmlnodep);
-+ DOMXML_GET_THIS_OBJ(node, id, le_domxmlnodep);
-
- DOMXML_NO_ARGS();
-
-- RETURN_LONG(Z_TYPE_P(n));
-+ RETURN_LONG(node->type);
- }
- /* }}} */
-
-@@ -1533,7 +1745,7 @@ PHP_FUNCTION(domxml_node_parent)
- int ret;
-
- DOMXML_GET_THIS_OBJ(nodep, id, le_domxmlnodep);
--
-+
- DOMXML_NO_ARGS();
-
- last = nodep->parent;
-@@ -1558,7 +1770,7 @@ PHP_FUNCTION(domxml_node_children)
- /* Even if the nodep is a XML_DOCUMENT_NODE the type is at the
- same position.
- */
-- if (Z_TYPE_P(nodep) == XML_DOCUMENT_NODE)
-+ if ((Z_TYPE_P(nodep) == XML_DOCUMENT_NODE) || (Z_TYPE_P(nodep) == XML_HTML_DOCUMENT_NODE))
- last = ((xmlDoc *) nodep)->children;
- else
- last = nodep->children;
-@@ -1579,32 +1791,27 @@ PHP_FUNCTION(domxml_node_children)
- }
- /* }}} */
-
--/* {{{ proto object domxml_node_unlink_node(void)
-- Deletes node */
-+/* {{{ proto void domxml_node_unlink_node([object node])
-+ Deletes the node */
- PHP_FUNCTION(domxml_node_unlink_node)
- {
- zval *id;
- xmlNode *nodep;
-
-- DOMXML_NO_ARGS();
--
-- DOMXML_GET_THIS_OBJ(nodep, id, le_domxmlnodep);
--
-- DOMXML_NO_ARGS();
-+ DOMXML_PARAM_NONE(nodep, id, le_domxmlnodep);
-
- xmlUnlinkNode(nodep);
- xmlFreeNode(nodep);
- zval_dtor(id); /* This is not enough because the children won't be deleted */
-- RETURN_TRUE;
- }
- /* }}} */
-
--/* {{{ proto object domxml_node_add_child(int domnode)
-+/* {{{ proto object domxml_node_add_child(object domnode)
- Adds existing node to parent node */
- PHP_FUNCTION(domxml_node_add_child)
- {
- zval *id, *rv, *node;
-- xmlNodePtr child, nodep;
-+ xmlNodePtr child, nodep, new_child;
- int ret;
-
- DOMXML_GET_THIS_OBJ(nodep, id, le_domxmlnodep);
-@@ -1615,10 +1822,20 @@ PHP_FUNCTION(domxml_node_add_child)
-
- DOMXML_GET_OBJ(child, node, le_domxmlnodep);
-
-- child = xmlAddChild(nodep, child);
-+ if (child->type == XML_ATTRIBUTE_NODE) {
-+ php_error(E_WARNING, "%s(): can't add attribute node", get_active_function_name(TSRMLS_C));
-+ RETURN_FALSE;
-+ }
-+
-+ if (NULL == (new_child = xmlCopyNode(child, 1))) {
-+ php_error(E_WARNING, "%s(): unable to clone node", get_active_function_name(TSRMLS_C));
-+ RETURN_FALSE;
-+ }
-+
-+ child = xmlAddChild(nodep, new_child);
-
- if (NULL == child) {
-- php_error(E_WARNING, "%s() couldn't add child", get_active_function_name(TSRMLS_C));
-+ php_error(E_WARNING, "%s(): couldn't add child", get_active_function_name(TSRMLS_C));
- RETURN_FALSE;
- }
-
-@@ -1626,12 +1843,39 @@ PHP_FUNCTION(domxml_node_add_child)
- }
- /* }}} */
-
--/* {{{ proto object domxml_node_append_child(int domnode)
-+/* {{{ proto object domxml_node_replace_node(object domnode)
-+ Replaces one node with another node */
-+PHP_FUNCTION(domxml_node_replace_node)
-+{
-+ zval *id, *rv, *node;
-+ xmlNodePtr repnode, nodep, new_repnode;
-+ int ret;
-+
-+ DOMXML_GET_THIS_OBJ(nodep, id, le_domxmlnodep);
-+
-+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &node) == FAILURE) {
-+ return;
-+ }
-+
-+ DOMXML_GET_OBJ(repnode, node, le_domxmlnodep);
-+
-+ if (NULL == (new_repnode = xmlCopyNode(repnode, 1))) {
-+ php_error(E_WARNING, "%s(): unable to clone node", get_active_function_name(TSRMLS_C));
-+ RETURN_FALSE;
-+ }
-+
-+ repnode = xmlReplaceNode(nodep, new_repnode);
-+
-+ DOMXML_RET_OBJ(rv, repnode, &ret);
-+}
-+/* }}} */
-+
-+/* {{{ proto object domxml_node_append_child(object domnode)
- Adds node to list of children */
- PHP_FUNCTION(domxml_node_append_child)
- {
- zval *id, *rv, *node;
-- xmlNodePtr child, nodep;
-+ xmlNodePtr child, nodep, new_child;
- int ret;
-
- DOMXML_GET_THIS_OBJ(nodep, id, le_domxmlnodep);
-@@ -1642,11 +1886,21 @@ PHP_FUNCTION(domxml_node_append_child)
-
- DOMXML_GET_OBJ(child, node, le_domxmlnodep);
-
-+ if (child->type == XML_ATTRIBUTE_NODE) {
-+ php_error(E_WARNING, "%s(): can't append attribute node", get_active_function_name(TSRMLS_C));
-+ RETURN_FALSE;
-+ }
-+
-+ if (NULL == (new_child = xmlCopyNode(child, 1))) {
-+ php_error(E_WARNING, "%s(): unable to clone node", get_active_function_name(TSRMLS_C));
-+ RETURN_FALSE;
-+ }
-+
- // FIXME reverted xmlAddChildList; crashes
-- child = xmlAddSibling(nodep, child);
-+ child = xmlAddSibling(nodep, new_child);
-
- if (NULL == child) {
-- php_error(E_WARNING, "%s() couldn't add node", get_active_function_name(TSRMLS_C));
-+ php_error(E_WARNING, "%s(): couldn't append node", get_active_function_name(TSRMLS_C));
- RETURN_FALSE;
- }
-
-@@ -1654,7 +1908,7 @@ PHP_FUNCTION(domxml_node_append_child)
- }
- /* }}} */
-
--/* {{{ proto object domxml_node_insert_before(int newnode, int refnode)
-+/* {{{ proto object domxml_node_insert_before(object newnode, object refnode)
- Adds node in list of nodes before given node */
- PHP_FUNCTION(domxml_node_insert_before)
- {
-@@ -1674,7 +1928,7 @@ PHP_FUNCTION(domxml_node_insert_before)
- child = xmlAddPrevSibling(refp, child);
-
- if (NULL == child) {
-- php_error(E_WARNING, "%s() couldn't add newnode as the previous sibling of refnode", get_active_function_name(TSRMLS_C));
-+ php_error(E_WARNING, "%s(): couldn't add newnode as the previous sibling of refnode", get_active_function_name(TSRMLS_C));
- RETURN_FALSE;
- }
-
-@@ -1783,11 +2037,35 @@ PHP_FUNCTION(domxml_node_set_content)
- /* FIXME: Actually the property 'content' of the node has to be updated
- as well. Since 'content' should disappear sooner or later and being
- replaces by a function 'content()' I skip this for now
-- */
-+ */
- RETURN_TRUE;
- }
- /* }}} */
-
-+/* {{{ proto string domxml_node_get_content()
-+ Gets content of a node.
-+
-+ "Read the value of a node, this can be either the text carried directly by
-+this node if it's a TEXT node or the aggregate string of the values carried by
-+this node child's (TEXT and ENTITY_REF). Entity references are substituted."
-+ */
-+PHP_FUNCTION(domxml_node_get_content)
-+{
-+ zval *id;
-+ xmlNode *nodep;
-+ xmlChar *mem;
-+
-+ DOMXML_PARAM_NONE(nodep, id, le_domxmlnodep);
-+ mem = xmlNodeGetContent(nodep);
-+ if (!mem) {
-+ RETURN_FALSE;
-+ }
-+
-+ RETURN_STRING(mem,1);
-+}
-+/* }}} */
-+
-+
- /* End of Methods DomNode }}} */
-
-
-@@ -1902,7 +2180,7 @@ PHP_FUNCTION(domxml_elem_set_attribute)
-
- attr = xmlSetProp(nodep, name, value);
- if (!attr) {
-- php_error(E_WARNING, "%s() no such attribute '%s'", get_active_function_name(TSRMLS_C), name);
-+ php_error(E_WARNING, "%s(): no such attribute '%s'", get_active_function_name(TSRMLS_C), name);
- RETURN_FALSE;
- }
-
-@@ -1966,7 +2244,7 @@ PHP_FUNCTION(domxml_elem_set_attribute_n
- xmlAttr *attrp;
-
- DOMXML_NOT_IMPLEMENTED();
--
-+
- if ((ZEND_NUM_ARGS() == 1) && getParameters(ht, 1, &arg1) == SUCCESS) {
- id = getThis();
- nodep = php_dom_get_object(id, le_domxmlelementp, 0 TSRMLS_CC);
-@@ -2052,8 +2330,8 @@ PHP_FUNCTION(domxml_doc_doctype)
- Returns DomeDOMImplementation */
- PHP_FUNCTION(domxml_doc_implementation)
- {
-- zval *id;
-- xmlDocPtr docp;
-+/* zval *id;
-+ xmlDocPtr docp;*/
-
- DOMXML_NOT_IMPLEMENTED();
-
-@@ -2283,7 +2561,7 @@ PHP_FUNCTION(domxml_doc_create_processin
- }
- /* }}} */
-
--/* {{{ proto object domxml_doc_imported_node(int node, bool recursive)
-+/* {{{ proto object domxml_doc_imported_node(object node, bool recursive)
- Creates new element node */
- PHP_FUNCTION(domxml_doc_imported_node)
- {
-@@ -2311,7 +2589,7 @@ PHP_FUNCTION(domxml_doc_imported_node)
- }
- /* }}} */
-
--/* {{{ proto object domxml_dtd([int doc_handle])
-+/* {{{ proto object domxml_dtd(void)
- Returns DTD of document */
- PHP_FUNCTION(domxml_intdtd)
- {
-@@ -2331,9 +2609,9 @@ PHP_FUNCTION(domxml_intdtd)
- }
- /* }}} */
-
--/* {{{ proto string domxml_dumpmem([int doc_handle])
-+/* {{{ proto string domxml_dump_mem([object doc_handle])
- Dumps document into string */
--PHP_FUNCTION(domxml_dumpmem)
-+PHP_FUNCTION(domxml_dump_mem)
- {
- zval *id;
- xmlDoc *docp;
-@@ -2341,7 +2619,6 @@ PHP_FUNCTION(domxml_dumpmem)
- int size;
-
- DOMXML_PARAM_NONE(docp, id, le_domxmldocp);
--
- xmlDocDumpMemory(docp, &mem, &size);
- if (!size) {
- RETURN_FALSE;
-@@ -2350,6 +2627,73 @@ PHP_FUNCTION(domxml_dumpmem)
- }
- /* }}} */
-
-+/* {{{ proto int domxml_dump_mem_file([object doc_handle],filename,compressmode)
-+ Dumps document into file and uses compression if specified
-+ Returns false on error, otherwise the length of the xml-document (uncompressed)
-+ */
-+PHP_FUNCTION(domxml_dump_mem_file)
-+{
-+ zval *id;
-+ xmlDoc *docp;
-+ int file_len, bytes;
-+ int compressmode = 0;
-+ char *file;
-+ DOMXML_PARAM_THREE(docp, id, le_domxmldocp, "s|l", &file, &file_len, &compressmode);
-+
-+ xmlSetCompressMode (compressmode);
-+ bytes = xmlSaveFile(file,docp);
-+ if (bytes == -1)
-+ {
-+ RETURN_FALSE;
-+ }
-+ RETURN_LONG(bytes);
-+}
-+/* }}} */
-+
-+/* {{{ proto string domxml_dump_node([object doc_handle],object node_handle[,int format[,int level]])
-+ Dumps node into string */
-+PHP_FUNCTION(domxml_dump_node)
-+{
-+ zval *id, *nodep;
-+ xmlDocPtr docp;
-+ xmlNodePtr elementp;
-+ xmlChar *mem ;
-+ xmlBufferPtr buf;
-+ int level = 0;
-+ int format = 0;
-+
-+ DOMXML_PARAM_THREE(docp, id, le_domxmldocp,"o|ll",&nodep,&format,&level);
-+
-+ DOMXML_GET_OBJ(elementp, nodep, le_domxmlnodep);
-+
-+ if (Z_TYPE_P(elementp) == XML_DOCUMENT_NODE || Z_TYPE_P(elementp) == XML_HTML_DOCUMENT_NODE ) {
-+ php_error(E_WARNING, "%s(): cannot dump element with a document node", get_active_function_name(TSRMLS_C));
-+ RETURN_FALSE;
-+ }
-+
-+ buf = xmlBufferCreate();
-+ if (!buf)
-+ {
-+ php_error(E_WARNING, "%s(): could fetch buffer", get_active_function_name(TSRMLS_C));
-+ RETURN_FALSE;
-+ }
-+
-+ xmlNodeDump(buf, docp, elementp,level,format);
-+
-+ mem = (xmlChar*) xmlBufferContent(buf);
-+
-+ if (!mem) {
-+ xmlBufferFree(buf);
-+ RETURN_FALSE;
-+ }
-+ RETVAL_STRING(mem, 1);
-+
-+ xmlBufferFree(buf);
-+
-+}
-+/* }}} */
-+
-+
- /* {{{ proto object xmldoc(string xmldoc [, bool from_file])
- Creates DOM object of XML document */
- PHP_FUNCTION(xmldoc)
-@@ -2413,6 +2757,106 @@ PHP_FUNCTION(xmldocfile)
- }
- /* }}} */
-
-+#if defined(LIBXML_HTML_ENABLED)
-+/* {{{ proto string domxml_html_dump_mem([int doc_handle])
-+ Dumps document into string as HTML */
-+PHP_FUNCTION(domxml_html_dump_mem)
-+{
-+ zval *id;
-+ xmlDoc *docp;
-+ xmlChar *mem;
-+ int size;
-+
-+ DOMXML_PARAM_NONE(docp, id, le_domxmldocp);
-+
-+ htmlDocDumpMemory(docp, &mem, &size);
-+ if (!size) {
-+ RETURN_FALSE;
-+ }
-+ RETURN_STRINGL(mem, size, 1);
-+}
-+/* }}} */
-+
-+/* {{{ proto object html_doc(string html_doc [, bool from_file])
-+ Creates DOM object of HTML document */
-+PHP_FUNCTION(html_doc)
-+{
-+ zval *rv;
-+ xmlDoc *docp;
-+ int ret;
-+ char *buffer;
-+ int buffer_len;
-+ zend_bool from_file = 0;
-+
-+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|b", &buffer, &buffer_len, &from_file) == FAILURE) {
-+ return;
-+ }
-+
-+ if (from_file) {
-+ docp = htmlParseFile(buffer, NULL);
-+ } else {
-+ docp = htmlParseDoc(buffer, NULL);
-+ }
-+ if (!docp)
-+ RETURN_FALSE;
-+
-+ DOMXML_RET_OBJ(rv, (xmlNodePtr) docp, &ret);
-+}
-+/* }}} */
-+
-+/* {{{ proto object html_doc_file(string filename)
-+ Creates DOM object of HTML document in file */
-+PHP_FUNCTION(html_doc_file)
-+{
-+ zval *rv;
-+ xmlDoc *docp;
-+ int ret, file_len;
-+ char *file;
-+
-+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &file, &file_len) == FAILURE) {
-+ return;
-+ }
-+
-+ docp = htmlParseFile(file, NULL);
-+ if (!docp) {
-+ RETURN_FALSE;
-+ }
-+
-+ DOMXML_RET_OBJ(rv, (xmlNodePtr) docp, &ret);
-+
-+ add_property_resource(return_value, "doc", ret);
-+ if (docp->name)
-+ add_property_stringl(return_value, "name", (char *) docp->name, strlen(docp->name), 1);
-+ if (docp->URL)
-+ add_property_stringl(return_value, "url", (char *) docp->URL, strlen(docp->URL), 1);
-+ if (docp->version)
-+ add_property_stringl(return_value, "version", (char *) docp->version, strlen(docp->version), 1);
-+/* add_property_stringl(return_value, "version", (char *) docp->version, strlen(docp->version), 1);*/
-+ if (docp->encoding)
-+ add_property_stringl(return_value, "encoding", (char *) docp->encoding, strlen(docp->encoding), 1);
-+ add_property_long(return_value, "standalone", docp->standalone);
-+ add_property_long(return_value, "type", Z_TYPE_P(docp));
-+ add_property_long(return_value, "compression", docp->compression);
-+ add_property_long(return_value, "charset", docp->charset);
-+ zend_list_addref(ret);
-+}
-+/* }}} */
-+#endif /* defined(LIBXML_HTML_ENABLED) */
-+
-+/* {{{ proto bool domxml_substitute_entities_default(bool enable)
-+ Set and return the previous value for default entity support */
-+PHP_FUNCTION(domxml_substitute_entities_default)
-+{
-+ zend_bool enable;
-+
-+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "b", &enable) == FAILURE) {
-+ return;
-+ }
-+
-+ RETURN_BOOL(xmlSubstituteEntitiesDefault(enable));
-+}
-+/* }}} */
-+
- /* {{{ proto bool domxml_node_text_concat(string content)
- Add string tocontent of a node */
- PHP_FUNCTION(domxml_node_text_concat)
-@@ -2421,7 +2865,7 @@ PHP_FUNCTION(domxml_node_text_concat)
- xmlNode *nodep;
- char *content;
- int content_len;
--
-+
- DOMXML_GET_THIS_OBJ(nodep, id, le_domxmlnodep);
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &content, &content_len) == FAILURE) {
-@@ -2589,7 +3033,7 @@ static int node_children(zval **children
-
- /* Get the namespace of the current node and add it as a property */
- /* XXX FIXME XXX */
--/*
-+/*
- if(!node_namespace(&namespace, last))
- zend_hash_update(Z_OBJPROP_P(child), "namespace", sizeof("namespace"), (void *) &namespace, sizeof(zval *), NULL);
- */
-@@ -2619,7 +3063,7 @@ PHP_FUNCTION(xmltree)
- xmlNode *root;
- int ret, buf_len;
- char *buf;
--
-+
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &buf, &buf_len) == FAILURE) {
- return;
- }
-@@ -2690,7 +3134,7 @@ static void php_xpathptr_new_context(INT
- }
- /* }}} */
-
--/* {{{ proto string xpath_new_context([int doc_handle])
-+/* {{{ proto object xpath_new_context([int doc_handle])
- Creates new XPath context */
- PHP_FUNCTION(xpath_new_context)
- {
-@@ -2698,7 +3142,7 @@ PHP_FUNCTION(xpath_new_context)
- }
- /* }}} */
-
--/* {{{ proto string xptr_new_context([int doc_handle])
-+/* {{{ proto object xptr_new_context([int doc_handle])
- Creates new XPath context */
- PHP_FUNCTION(xptr_new_context)
- {
-@@ -2731,10 +3175,10 @@ static void php_xpathptr_eval(INTERNAL_F
- }
-
- ctxp = php_xpath_get_context(id, le_xpathctxp, 0 TSRMLS_CC);
-- if (!ctxp) {
-- php_error(E_WARNING, "%s() cannot fetch XPATH context", get_active_function_name(TSRMLS_C));
-- RETURN_FALSE;
-- }
-+ if (!ctxp) {
-+ php_error(E_WARNING, "%s(): cannot fetch XPATH context", get_active_function_name(TSRMLS_C));
-+ RETURN_FALSE;
-+ }
-
- if (contextnode) {
- DOMXML_GET_OBJ(contextnodep, contextnode, le_domxmlnodep);
-@@ -2761,7 +3205,7 @@ static void php_xpathptr_eval(INTERNAL_F
- }
-
- if (NULL == (rv = php_xpathobject_new(xpathobjp, &ret TSRMLS_CC))) {
-- php_error(E_WARNING, "%s() cannot create required XPATH objcet", get_active_function_name(TSRMLS_C));
-+ php_error(E_WARNING, "%s(): cannot create required XPATH objcet", get_active_function_name(TSRMLS_C));
- RETURN_FALSE;
- }
- SEPARATE_ZVAL(&rv);
-@@ -2836,7 +3280,7 @@ static void php_xpathptr_eval(INTERNAL_F
- }
- /* }}} */
-
--/* {{{ proto int xpath_eval([int xpathctx_handle,] string str)
-+/* {{{ proto object xpath_eval([object xpathctx_handle,] string str)
- Evaluates the XPath Location Path in the given string */
- PHP_FUNCTION(xpath_eval)
- {
-@@ -2844,13 +3288,46 @@ PHP_FUNCTION(xpath_eval)
- }
- /* }}} */
-
--/* {{{ proto int xpath_eval_expression([int xpathctx_handle,] string str)
-- Evaluates the XPath Location Path in the given string */
-+/* {{{ proto object xpath_eval_expression([object xpathctx_handle,] string str)
-+ Evaluates the XPath expression in the given string */
- PHP_FUNCTION(xpath_eval_expression)
- {
- php_xpathptr_eval(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_XPATH, 1);
- }
- /* }}} */
-+
-+/* {{{ proto bool xpath_register_ns([object xpathctx_handle,] string namespace_prefix, string namespace_uri)
-+ Registeres the given namespace in the passed XPath context */
-+PHP_FUNCTION(xpath_register_ns)
-+{
-+ /*
-+ TODO:
-+ - automagically register all namespaces when creating a new context
-+ */
-+
-+ int prefix_len, uri_len, result;
-+ xmlXPathContextPtr ctxp;
-+ char *prefix, *uri, *uri_static;
-+ zval *id;
-+
-+ DOMXML_PARAM_FOUR(ctxp, id, le_xpathctxp, "ss", &prefix, &prefix_len, &uri, &uri_len);
-+
-+ /* set the context node to NULL - what is a context node anyway? */
-+ ctxp->node = NULL;
-+
-+ /*
-+ this is a hack - libxml2 doesn't copy the URI, it simply uses the string
-+ given in the parameter - which is normally deallocated after the function
-+ */
-+ uri_static = estrndup(uri, uri_len);
-+ result = xmlXPathRegisterNs(ctxp, prefix, uri_static);
-+
-+ if (0 == result) {
-+ RETURN_TRUE;
-+ }
-+ RETURN_FALSE;
-+}
-+/* }}} */
- #endif /* defined(LIBXML_XPATH_ENABLED) */
-
- #if defined(LIBXML_XPTR_ENABLED)
-@@ -2864,12 +3341,266 @@ PHP_FUNCTION(xptr_eval)
- #endif /* LIBXML_XPTR_ENABLED */
-
- /* {{{ proto string domxml_version(void)
-- Dumps document into string */
-+ Get XML library version */
- PHP_FUNCTION(domxml_version)
- {
- RETURN_STRING(LIBXML_DOTTED_VERSION, 1);
- }
- /* }}} */
-+
-+#if HAVE_DOMXSLT
-+static zval *php_xsltstylesheet_new(xsltStylesheetPtr obj, int *found TSRMLS_DC)
-+{
-+ zval *wrapper;
-+ int rsrc_type;
-+
-+ if (! found) {
-+ *found = 0;
-+ }
-+
-+ if (!obj) {
-+ MAKE_STD_ZVAL(wrapper);
-+ ZVAL_NULL(wrapper);
-+ return wrapper;
-+ }
-+
-+ if ((wrapper = (zval *) dom_object_get_data((void *) obj))) {
-+ zval_add_ref(&wrapper);
-+ *found = 1;
-+ return wrapper;
-+ }
-+
-+ MAKE_STD_ZVAL(wrapper);
-+
-+ object_init_ex(wrapper, domxsltstylesheet_class_entry);
-+ rsrc_type = le_domxsltstylesheetp;
-+ php_xsltstylesheet_set_object(wrapper, (void *) obj, rsrc_type);
-+
-+ return (wrapper);
-+}
-+
-+/* {{{ proto object domxml_xslt_stylesheet(string xsltstylesheet)
-+ Creates XSLT Stylesheet object from string */
-+PHP_FUNCTION(domxml_xslt_stylesheet)
-+{
-+ zval *rv;
-+ xmlDocPtr docp;
-+ xsltStylesheetPtr sheetp;
-+ int ret;
-+ char *buffer;
-+ int buffer_len;
-+
-+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &buffer, &buffer_len) == FAILURE) {
-+ RETURN_FALSE;
-+ }
-+
-+ docp = xmlParseDoc(buffer);
-+
-+ if (!docp)
-+ RETURN_FALSE;
-+
-+ sheetp = xsltParseStylesheetDoc(docp);
-+
-+ if (!sheetp)
-+ RETURN_FALSE;
-+
-+ rv = php_xsltstylesheet_new(sheetp, &ret TSRMLS_CC);
-+ DOMXML_RET_ZVAL(rv);
-+}
-+/* }}} */
-+
-+/* {{{ proto object domxml_xslt_stylesheet_doc(object xmldoc)
-+ Creates XSLT Stylesheet object from DOM Document object */
-+PHP_FUNCTION(domxml_xslt_stylesheet_doc)
-+{
-+ zval *rv, *idxml;
-+ xmlDocPtr docp;
-+ xmlDocPtr newdocp;
-+ xsltStylesheetPtr sheetp;
-+ int ret;
-+
-+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &idxml) == FAILURE) {
-+ RETURN_FALSE;
-+ }
-+
-+ DOMXML_GET_OBJ(docp, idxml, le_domxmldocp);
-+
-+ newdocp = xmlCopyDoc(docp, 1);
-+
-+ if (!newdocp)
-+ RETURN_FALSE;
-+
-+ sheetp = xsltParseStylesheetDoc(newdocp);
-+
-+ if (!sheetp)
-+ RETURN_FALSE;
-+
-+ rv = php_xsltstylesheet_new(sheetp, &ret TSRMLS_CC);
-+ DOMXML_RET_ZVAL(rv);
-+}
-+/* }}} */
-+
-+/* {{{ proto object domxml_xslt_stylesheet_file(string filename)
-+ Creates XSLT Stylesheet object from file */
-+PHP_FUNCTION(domxml_xslt_stylesheet_file)
-+{
-+ zval *rv;
-+ xsltStylesheetPtr sheetp;
-+ int ret, file_len;
-+ char *file;
-+
-+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &file, &file_len) == FAILURE) {
-+ RETURN_FALSE;
-+ }
-+
-+ sheetp = xsltParseStylesheetFile(file);
-+
-+ if (!sheetp)
-+ RETURN_FALSE;
-+
-+ rv = php_xsltstylesheet_new(sheetp, &ret TSRMLS_CC);
-+ DOMXML_RET_ZVAL(rv);
-+}
-+/* }}} */
-+
-+/* {{{ php_domxslt_string_to_xpathexpr()
-+ Translates a string to a XPath Expression */
-+static char *php_domxslt_string_to_xpathexpr(const char *str)
-+{
-+ const xmlChar *string = (const xmlChar *)str;
-+
-+ xmlChar *value;
-+
-+ TSRMLS_FETCH();
-+
-+ if (xmlStrchr(string, '"')) {
-+ if (xmlStrchr(string, '\'')) {
-+ php_error(E_WARNING, "Cannot create XPath expression (string contains both quote and double-quotes) in %s",
-+ get_active_function_name(TSRMLS_C));
-+ return NULL;
-+ }
-+ value = xmlStrdup((const xmlChar *)"'");
-+ value = xmlStrcat(value, string);
-+ value = xmlStrcat(value, (const xmlChar *)"'");
-+ }
-+ else {
-+ value = xmlStrdup((const xmlChar *)"\"");
-+ value = xmlStrcat(value, string);
-+ value = xmlStrcat(value, (const xmlChar *)"\"");
-+ }
-+
-+ return (char *)value;
-+}
-+
-+/* {{{ php_domxslt_make_params()
-+ Translates a PHP array to a libxslt parameters array */
-+static char **php_domxslt_make_params(zval *idvars, int xpath_params)
-+{
-+ HashTable *parht;
-+ int parsize;
-+ zval **value;
-+ char *xpath_expr, *string_key = NULL;
-+ ulong num_key;
-+ char **params = NULL;
-+ int i = 0;
-+
-+ TSRMLS_FETCH();
-+
-+ parht = HASH_OF(idvars);
-+ parsize = (2 * zend_hash_num_elements(parht) + 1) * sizeof(char *);
-+ params = (char **)emalloc(parsize);
-+ memset((char *)params, 0, parsize);
-+
-+ for (zend_hash_internal_pointer_reset(parht);
-+ zend_hash_get_current_data(parht, (void **)&value) == SUCCESS;
-+ zend_hash_move_forward(parht)) {
-+
-+ if (zend_hash_get_current_key(parht, &string_key, &num_key, 1) != HASH_KEY_IS_STRING) {
-+ php_error(E_WARNING, "Invalid argument or parameter array to %s",
-+ get_active_function_name(TSRMLS_C));
-+ return NULL;
-+ }
-+ else {
-+ SEPARATE_ZVAL(value);
-+ convert_to_string_ex(value);
-+
-+ if (!xpath_params) {
-+ xpath_expr = php_domxslt_string_to_xpathexpr(Z_STRVAL_PP(value));
-+ }
-+ else {
-+ xpath_expr = Z_STRVAL_PP(value);
-+ }
-+
-+ if (xpath_expr) {
-+ params[i++] = string_key;
-+ params[i++] = xpath_expr;
-+ }
-+ }
-+ }
-+
-+ params[i++] = NULL;
-+
-+ return params;
-+}
-+
-+/* {{{ proto object domxml_xslt_process(object xslstylesheet, object xmldoc [, array xslt_parameters [, bool xpath_parameters]])
-+ Perform an XSLT transformation */
-+PHP_FUNCTION(domxml_xslt_process)
-+{
-+/* TODO:
-+ - test memory deallocation
-+ - test other stuff
-+ - check xsltsp->errors ???
-+*/
-+ zval *rv, *idxsl, *idxml, *idparams = NULL;
-+ zend_bool xpath_params = 0;
-+ xsltStylesheetPtr xsltstp;
-+ xmlDocPtr xmldocp;
-+ xmlDocPtr docp;
-+ char **params = NULL;
-+ int ret;
-+
-+ DOMXML_GET_THIS(idxsl);
-+
-+ xsltstp = php_xsltstylesheet_get_object(idxsl, le_domxsltstylesheetp, 0 TSRMLS_CC);
-+ if (!xsltstp) {
-+ php_error(E_WARNING, "%s(): underlying object missing",
-+ get_active_function_name(TSRMLS_C));
-+ RETURN_FALSE;
-+ }
-+
-+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o|ab", &idxml, &idparams, &xpath_params) == FAILURE) {
-+ RETURN_FALSE;
-+ }
-+
-+ DOMXML_GET_OBJ(xmldocp, idxml, le_domxmldocp);
-+
-+ if (idparams) {
-+ params = php_domxslt_make_params(idparams, xpath_params);
-+ }
-+
-+ docp = xsltApplyStylesheet(xsltstp, xmldocp, (const char**)params);
-+
-+ if (params) {
-+ efree(params);
-+ }
-+
-+ if (!docp) {
-+ RETURN_FALSE;
-+ }
-+
-+ DOMXML_RET_OBJ(rv, (xmlNodePtr) docp, &ret);
-+}
-+/* }}} */
-+
-+/* {{{ proto string domxml_xslt_version(void)
-+ Get XSLT library version */
-+PHP_FUNCTION(domxml_xslt_version)
-+{
-+ RETURN_STRING(LIBXSLT_DOTTED_VERSION, 1);
-+}
-+/* }}} */
-+#endif /* HAVE_DOMXSLT */
-
- #endif /* HAVE_DOMXML */
-
-diff -upr php-4.1.2/ext/domxml/php_domxml.h php-4.1.2-dom-xslt/ext/domxml/php_domxml.h
---- php-4.1.2/ext/domxml/php_domxml.h Fri Dec 14 11:45:46 2001
-+++ php-4.1.2-dom-xslt/ext/domxml/php_domxml.h Tue Jan 22 00:21:32 2002
-@@ -16,19 +16,36 @@
- +----------------------------------------------------------------------+
- */
-
--/* $Id$ */
-+/* $Id$ */
-
- #ifndef PHP_DOMXML_H
- #define PHP_DOMXML_H
-
- #if HAVE_DOMXML
- #include <libxml/parser.h>
-+#include <libxml/tree.h>
-+#include <libxml/xmlerror.h>
-+#if defined(LIBXML_HTML_ENABLED)
-+#include <libxml/HTMLparser.h>
-+#include <libxml/HTMLtree.h>
-+#endif
- #if defined(LIBXML_XPATH_ENABLED)
- #include <libxml/xpath.h>
-+#include <libxml/xpathInternals.h>
- #endif
- #if defined(LIBXML_XPTR_ENABLED)
- #include <libxml/xpointer.h>
- #endif
-+#if HAVE_DOMXSLT
-+#include <libxslt/xsltconfig.h>
-+#include <libxslt/xsltInternals.h>
-+#include <libxslt/xsltutils.h>
-+#include <libxslt/transform.h>
-+#if HAVE_DOMEXSLT
-+#include <libexslt/exslt.h>
-+#include <libexslt/exsltconfig.h>
-+#endif
-+#endif
-
- extern zend_module_entry domxml_module_entry;
- #define domxml_module_ptr &domxml_module_entry
-@@ -40,8 +57,13 @@ PHP_MINFO_FUNCTION(domxml);
- PHP_FUNCTION(domxml_version);
- PHP_FUNCTION(xmldoc);
- PHP_FUNCTION(xmldocfile);
-+#if defined(LIBXML_HTML_ENABLED)
-+PHP_FUNCTION(html_doc);
-+PHP_FUNCTION(html_doc_file);
-+#endif
- PHP_FUNCTION(xmltree);
- PHP_FUNCTION(domxml_new_xmldoc);
-+PHP_FUNCTION(domxml_substitute_entities_default);
-
- /* Class Document methods */
- PHP_FUNCTION(domxml_doc_doctype);
-@@ -57,7 +79,13 @@ PHP_FUNCTION(domxml_doc_create_entity_re
- PHP_FUNCTION(domxml_doc_imported_node);
- PHP_FUNCTION(domxml_add_root);
- PHP_FUNCTION(domxml_intdtd);
--PHP_FUNCTION(domxml_dumpmem);
-+PHP_FUNCTION(domxml_dump_mem);
-+PHP_FUNCTION(domxml_dump_mem_file);
-+PHP_FUNCTION(domxml_dump_node);
-+
-+#if defined(LIBXML_HTML_ENABLED)
-+PHP_FUNCTION(domxml_html_dump_mem);
-+#endif
-
- /* Class DocumentType methods */
- PHP_FUNCTION(domxml_doctype_name);
-@@ -89,8 +117,10 @@ PHP_FUNCTION(domxml_node_prefix);
- PHP_FUNCTION(domxml_node);
- PHP_FUNCTION(domxml_clone_node);
- PHP_FUNCTION(domxml_node_unlink_node);
-+PHP_FUNCTION(domxml_node_replace_node);
- PHP_FUNCTION(domxml_node_new_child);
- PHP_FUNCTION(domxml_node_set_content);
-+PHP_FUNCTION(domxml_node_get_content);
- PHP_FUNCTION(domxml_node_text_concat);
- PHP_FUNCTION(domxml_node_set_name);
- PHP_FUNCTION(domxml_node_name);
-@@ -135,12 +165,22 @@ PHP_FUNCTION(xpath_init);
- PHP_FUNCTION(xpath_new_context);
- PHP_FUNCTION(xpath_eval);
- PHP_FUNCTION(xpath_eval_expression);
-+PHP_FUNCTION(xpath_register_ns);
- #endif
- #if defined(LIBXML_XPTR_ENABLED)
- PHP_FUNCTION(xptr_new_context);
- PHP_FUNCTION(xptr_eval);
- #endif
- PHP_FUNCTION(domxml_test);
-+
-+/* DOMXSLT functions */
-+#if HAVE_DOMXSLT
-+PHP_FUNCTION(domxml_xslt_stylesheet);
-+PHP_FUNCTION(domxml_xslt_stylesheet_doc);
-+PHP_FUNCTION(domxml_xslt_stylesheet_file);
-+PHP_FUNCTION(domxml_xslt_process);
-+PHP_FUNCTION(domxml_xslt_version);
-+#endif
-
- #else
- #define domxml_module_ptr NULL
+++ /dev/null
-diff -u -r1.87 zend_API.h
---- php-4.0.6.orig/Zend/zend_API.h 2001/04/19 17:51:23
-+++ php-4.0.6/Zend/zend_API.h 2001/08/24 13:18:51
-@@ -268,8 +268,8 @@
- (z)->type = IS_STRING; \
- }
-
--#define ZVAL_FALSE { (z)->value.lval = 0; (z)->type = IS_BOOL; }
--#define ZVAL_TRUE { (z)->value.lval = 1; (z)->type = IS_BOOL; }
-+#define ZVAL_FALSE(z) { (z)->value.lval = 0; (z)->type = IS_BOOL; }
-+#define ZVAL_TRUE(z) { (z)->value.lval = 1; (z)->type = IS_BOOL; }
-
- #define RETVAL_RESOURCE(l) { \
- return_value->type = IS_RESOURCE;\
+++ /dev/null
---- php-4.0.6/ext/pdf/config.m4.wiget Thu Jun 14 06:35:44 2001
-+++ php-4.0.6/ext/pdf/config.m4 Fri Jul 6 08:37:53 2001
-@@ -18,7 +18,7 @@
- AC_CHECK_LIB(pdf, PDF_show_boxed, [
- AC_DEFINE(HAVE_PDFLIB,1,[ ])
- ],[
-- AC_MSG_ERROR(pdflib extension requires at least pdflib 3.x. You may also need libtiff and libjpeg. If so, use the options --with-tiff-dir=<DIR> and --with-jpeg-dir=<DIR>)
-+ AC_MSG_ERROR([pdflib extension requires at least pdflib 3.x. You may also need libtiff and libjpeg. If so, use the options --with-tiff-dir=<DIR> and --with-jpeg-dir=<DIR>])
- ],[
- -ltiff -ljpeg -lpng -lz
- ])
-@@ -34,7 +34,7 @@
- if test -n "$PDFLIB_INCLUDE" ; then
-
- if test "$PHP_ZLIB_DIR" = "no"; then
-- AC_MSG_ERROR(PDF extension requires ZLIB. Use --with-zlib-dir=<DIR>)
-+ AC_MSG_ERROR([PDF extension requires ZLIB. Use --with-zlib-dir=<DIR>])
- fi
-
- PHP_ADD_LIBRARY_WITH_PATH(z, $PHP_ZLIB_DIR/lib, PDFLIB_SHARED_LIBADD)
-@@ -47,7 +47,7 @@
- [
- PHP_ADD_LIBRARY_WITH_PATH(jpeg, $PHP_JPEG_DIR/lib, PDFLIB_SHARED_LIBADD)
- ],[
-- AC_MSG_ERROR(libjpeg not found!)
-+ AC_MSG_ERROR([libjpeg not found!])
- ],[
- -L$PHP_JPEG_DIR/lib
- ])
-@@ -56,12 +56,12 @@
- [
- PHP_ADD_LIBRARY(jpeg,, PDFLIB_SHARED_LIBADD)
- ],[
-- AC_MSG_RESULT(no, try --with-jpeg-dir=<DIR>)
-+ AC_MSG_RESULT([no, try --with-jpeg-dir=<DIR>])
- ])
- fi
-
-
-- PHP_ARG_WITH(png-dir, for the location of libpng,
-+ PHP_ARG_WITH(png-dir,[ for the location of libpng],
- [ --with-png-dir[=DIR] PDFLIB: define libpng install directory])
-
- if test "$PHP_PNG_DIR" != "no"; then
-@@ -69,7 +69,7 @@
- [
- PHP_ADD_LIBRARY_WITH_PATH(png, $PHP_PNG_DIR/lib, PDFLIB_SHARED_LIBADD)
- ],[
-- AC_MSG_ERROR(libpng not found!)
-+ AC_MSG_ERROR([libpng not found!])
- ],[
- -L$PHP_PNG_DIR/lib
- ])
-@@ -78,12 +78,12 @@
- [
- PHP_ADD_LIBRARY(png,, PDFLIB_SHARED_LIBADD)
- ],[
-- AC_MSG_RESULT(no, try --with-png-dir=<DIR>)
-+ AC_MSG_RESULT([no, try --with-png-dir=<DIR>])
- ])
- fi
-
-
-- PHP_ARG_WITH(tiff-dir, for the location of libtiff,
-+ PHP_ARG_WITH(tiff-dir,[ for the location of libtiff],
- [ --with-tiff-dir[=DIR] PDFLIB: define libtiff install directory])
-
- if test "$PHP_TIFF_DIR" != "no"; then
-@@ -91,7 +91,7 @@
- [
- PHP_ADD_LIBRARY_WITH_PATH(tiff, $PHP_TIFF_DIR/lib, PDFLIB_SHARED_LIBADD)
- ],[
-- AC_MSG_ERROR(libtiff not found!)
-+ AC_MSG_ERROR([libtiff not found!])
- ],[
- -L$PHP_TIFF_DIR/lib
- ])
-@@ -100,7 +100,7 @@
- [
- PHP_ADD_LIBRARY(tiff,, PDFLIB_SHARED_LIBADD)
- ],[
-- AC_MSG_RESULT(no, Try --with-tiff-dir=<DIR>)
-+ AC_MSG_RESULT([no, Try --with-tiff-dir=<DIR>])
- ])
- fi
-
-@@ -111,7 +111,7 @@
- PHP_ADD_LIBRARY_WITH_PATH(pdf, $PHP_PDFLIB/lib, PDFLIB_SHARED_LIBADD)
- PHP_ADD_INCLUDE($PDFLIB_INCLUDE)
- ],[
-- AC_MSG_ERROR(pdflib extension requires at least pdflib 3.x.)
-+ AC_MSG_ERROR([pdflib extension requires at least pdflib 3.x.])
- ],[
- -L$PHP_PDFLIB/lib
- ])
---- php-4.0.6/ext/yp/config.m4.wiget Fri Jul 6 08:37:53 2001
-+++ php-4.0.6/ext/yp/config.m4 Fri Jul 6 08:37:53 2001
-@@ -2,13 +2,15 @@
- dnl config.m4 for extension yp
- dnl don't forget to call PHP_EXTENSION(yp)
-
--PHP_ARG_ENABLE(yp,whether to include YP support,
-+PHP_ARG_ENABLE(yp,[whether to include YP support],
- [ --enable-yp Include YP support])
-
- if test "$PHP_YP" != "no"; then
- PHP_SUBST(NSL_SHARED_LIBADD)
-- AC_ADD_LIBRARY_WITH_PATH(nsl, /usr/lib, NSL_SHARED_LIBADD)
-- AC_CHECK_LIB(nsl, yp_match, [AC_DEFINE(HAVE_YP,1,[ ])], [AC_MSG_ERROR(YP module requires libnsl)],)
-+ AC_CHECK_LIB(nsl, yp_match, [
-+ AC_DEFINE(HAVE_YP,1,[ ])
-+ PHP_ADD_LIBRARY(nsl,, NSL_SHARED_LIBADD)
-+ ], [AC_MSG_ERROR([YP module requires libnsl])])
- PHP_EXTENSION(yp, $ext_shared)
-
- case "$host_alias" in
---- php-4.1.1/acinclude.m4.wiget Sun Jun 10 21:52:56 2001
-+++ php-4.1.1/acinclude.m4 Fri Jul 6 09:26:10 2001
-@@ -351,7 +351,7 @@
- AC_SUBST($1)
- ])
-
--AC_DEFUN(PHP_FAST_OUTPUT,[
-+AC_DEFUN([PHP_FAST_OUTPUT],[
- PHP_FAST_OUTPUT_FILES="$PHP_FAST_OUTPUT_FILES $1"
- ])
-
-@@ -377,7 +377,7 @@
- done
- ])
-
--AC_DEFUN(PHP_GEN_MAKEFILES,[
-+AC_DEFUN([PHP_GEN_MAKEFILES],[
- $SHELL $srcdir/build/fastgen.sh $srcdir $ac_cv_mkdir_p $BSD_MAKEFILE $1
- ])
-
-@@ -914,6 +908,7 @@
- dnl ## This macro can be used several times.
- AC_DEFUN(PHP_OUTPUT,[
- PHP_OUTPUT_FILES="$PHP_OUTPUT_FILES $1"
-+ AC_CONFIG_FILES($1)
- ])
-
- AC_DEFUN(PHP_DECLARED_TIMEZONE,[
---- php-4.0.6/configure.in.wiget Fri Jul 6 08:37:53 2001
-+++ php-4.0.6/configure.in Fri Jul 6 09:32:15 2001
-@@ -5,7 +5,7 @@
-
- AC_INIT(README.CVS-RULES)
-
--PHP_FAST_OUTPUT(sapi/Makefile ext/Makefile Makefile pear/Makefile main/Makefile)
-+PHP_FAST_OUTPUT([sapi/Makefile ext/Makefile Makefile pear/Makefile main/Makefile])
-
- if test "$with_shared_apache" != "no" && test -n "$with_shared_apache" ; then
- AC_MSG_ERROR(--with-shared-apache is not supported. Please refer to the documentation for using APXS)
-@@ -117,10 +117,7 @@
- AC_PROG_CC_C_O
- AC_PROG_LN_S
-
--AM_PROG_LEX
--if test -n "$LEX"; then
-- AC_DECL_YYTEXT
--fi
-+AC_PROG_LEX()
-
- dnl ## Make flex scanners use const if they can, even if __STDC__ is not
- dnl ## true, for compilers like Sun's that only set __STDC__ true in
-@@ -225,12 +222,12 @@
-
- unset ac_cv_func_yp_get_default_domain
- AC_CHECK_FUNC(yp_get_default_domain,
-- [php_no_nsl_checks=yes],[ ])
-+ [php_no_nsl_checks=yes],[true ])
- unset ac_cv_func_yp_get_default_domain
-
- if test "$php_no_nsl_checks" != "yes"; then
-
--AC_CHECK_FUNC(gethostname, [ ], [
-+AC_CHECK_FUNC(gethostname, [true ], [
- AC_CHECK_LIB(nsl, gethostname, [
- PHP_ADD_LIBRARY(nsl)
- AC_DEFINE(HAVE_LIBNSL,1,[ ]) ],[
-@@ -250,8 +247,8 @@
-
- dnl Only include libbind if inet_aton is not found in
- dnl libresolv.
--AC_CHECK_LIB(resolv, inet_aton, [], [
-- AC_CHECK_LIB(bind, inet_aton, [], [
-+AC_CHECK_LIB(resolv, inet_aton, [true], [
-+ AC_CHECK_LIB(bind, inet_aton, [true], [
- AC_CHECK_LIB(bind, __inet_aton)
- ])
- ])
-@@ -870,6 +867,12 @@
- PHP_SUBST(TSRM_LIB)
- PHP_SUBST(WARNING_LEVEL)
- PHP_SUBST_OLD(YACC)
-+PHP_SUBST(EXT_SUBDIRS)
-+PHP_SUBST(EXT_STATIC)
-+PHP_SUBST(EXT_SHARED)
-+PHP_SUBST(EXT_LIBS)
-+PHP_SUBST(EXT_LTLIBS)
-+
-
- PHP_CONFIGURE_PART(Configuring libtool)
-
-@@ -936,14 +939,17 @@
- pear/scripts/pear pear/scripts/phpize pear/scripts/php-config \
- TSRM/Makefile $PHP_OUTPUT_FILES"
-
--AC_OUTPUT($ALL_OUTPUT_FILES, [], [
-+AC_CONFIG_FILES([php4.spec Zend/Makefile main/build-defs.h
-+ pear/scripts/pear pear/scripts/phpize pear/scripts/php-config
-+ TSRM/Makefile])
-+AC_CONFIG_COMMANDS([default], [true], [
-
--if test "\$CONFIG_FILES" = "$ALL_OUTPUT_FILES"; then
-+dnl if test "\$CONFIG_FILES" = "$ALL_OUTPUT_FILES"; then
- REDO_ALL=yes
--fi
-+dnl fi
-
- if test -n "\$REDO_ALL"; then
-- PHP_GEN_MAKEFILES($PHP_FAST_OUTPUT_FILES)
-+ PHP_GEN_MAKEFILES([$PHP_FAST_OUTPUT_FILES])
- fi
-
- if test ! -f $srcdir/ext/bcmath/number.c; then
-@@ -1057,6 +1063,8 @@
- fi
- ])
-
-+AC_OUTPUT
-+
- dnl ## Local Variables:
- dnl ## tab-width: 4
- dnl ## End:
---- php-4.1.1/ext/imap/config.m4.orig Tue Aug 7 18:18:04 2001
-+++ php-4.1.1/ext/imap/config.m4 Sat Jan 19 13:50:24 2002
-@@ -133,7 +133,7 @@
- #endif
- ],[
- AC_DEFINE(HAVE_IMAP2001, 1, [ ])
-- ],[ ])
-+ ],[:])
- CPPFLAGS=$old_CPPFLAGS
-
- AC_CHECK_LIB(pam, pam_start)
+++ /dev/null
---- php-4.2.2/ext/mysql/config.m4.orig Fri Aug 9 23:49:00 2002
-+++ php-4.2.2/ext/mysql/config.m4 Sat Aug 10 00:05:40 2002
-@@ -49,6 +49,7 @@
- [ --with-mysql[=DIR] Include MySQL support. DIR is the MySQL base directory.
- If unspecified, the bundled MySQL library will be used.], yes)
-
-+PHP_REQUIRE_CXX
- if test "$PHP_MYSQL" != "no"; then
- AC_DEFINE(HAVE_MYSQL, 1, [Whether you have MySQL])
- if test "$PHP_SAFE_MODE" = "yes"; then
+++ /dev/null
---- php-4.3.2/ext/dba/config.m4.orig Wed May 21 02:35:29 2003
-+++ php-4.3.2/ext/dba/config.m4 Mon Jun 23 11:53:32 2003
-@@ -176,13 +176,13 @@
- AC_MSG_CHECKING(if db can be used as shared extension)
- AC_EGREP_CPP(yes,[
- #include "$THIS_INCLUDE"
--#if DB_VERSION_MAJOR > 3 || (DB_VERSION_MAJOR == 3 && DB_VERSION_MINOR > 2)
-+#if DB_VERSION_MAJOR > 3 || (DB_VERSION_MAJOR == 3 && DB_VERSION_MINOR > 0)
- yes
- #endif
- ],[
- AC_MSG_RESULT(yes)
- ],[
-- AC_MSG_ERROR(At least version 3.3 is required)
-+ AC_MSG_ERROR(At least version 3.1 is required)
- ])
- fi
- if test -n "$THIS_LIBS"; then
+++ /dev/null
-diff -urN php-4.1.2.org/TSRM/threads.m4 php-4.1.2/TSRM/threads.m4
---- php-4.1.2.org/TSRM/threads.m4 Mon Apr 8 01:42:39 2002
-+++ php-4.1.2/TSRM/threads.m4 Mon Apr 8 01:43:36 2002
-@@ -32,7 +32,11 @@
- dnl
- AC_DEFUN(PTHREADS_FLAGS,[
- if test -z "$host_alias"; then
-- AC_MSG_ERROR(host_alias is not set. Make sure to run config.guess)
-+ if test -z "$build_alias"; then
-+ AC_MSG_ERROR(host_alias is not set. Make sure to run config.guess)
-+ else
-+ host_alias=$build_alias
-+ fi
- fi
- case "$host_alias" in
- *solaris*)
-diff -urN php-4.1.2.org/configure.in php-4.1.2/configure.in
---- php-4.1.2.org/configure.in Mon Apr 8 01:42:39 2002
-+++ php-4.1.2/configure.in Mon Apr 8 01:42:57 2002
-@@ -115,11 +115,11 @@
-
- AM_PROG_CC_STDC
-
--AC_PROG_RANLIB
-+AC_PROG_LIBTOOL
- AC_PROG_CC_C_O
- AC_PROG_LN_S
-
--AC_PROG_LEX
-+AM_PROG_LEX
- if test -n "$LEX"; then
- AC_DECL_YYTEXT
- fi
+++ /dev/null
-; php-apache.ini - configuration used only for apache SAPI
-;
-; Please note that, unlikely in original php distributions, this file
-; is read AFTER (not instead of) reading global /etc/php/php.ini.
-;
-; It allows you to control global settings for all SAPIs in one place
-; and override some settings in SAPI-specific files without need of
-; copying whole large php.ini.
-
-[Session]
-session.save_path = /var/run/php
- ; argument passed to save_handler
- ; in the case of files, this is the
- ; path where data files are stored
-
+++ /dev/null
-diff -urN php-4.1.2.org/sapi/apache2filter/apache_config.c php-4.1.2/sapi/apache2filter/apache_config.c
---- php-4.1.2.org/sapi/apache2filter/apache_config.c Mon Apr 8 02:40:24 2002
-+++ php-4.1.2/sapi/apache2filter/apache_config.c Wed Feb 28 15:11:34 2001
-@@ -88,7 +88,7 @@
- php_dir_entry *pe;
- php_dir_entry *data;
- char *str;
-- uint str_len;
-+ ulong str_len;
- ulong num_index;
-
- phpapdebug((stderr, "Merge dir (%p) (%p)\n", base_conf, new_conf));
-@@ -110,7 +110,7 @@
- {
- php_conf_rec *d = dummy;
- char *str;
-- uint str_len;
-+ ulong str_len;
- php_dir_entry *data;
-
- for (zend_hash_internal_pointer_reset(&d->config);
-diff -urN php-4.1.2.org/sapi/apache2filter/php_apache.h php-4.1.2/sapi/apache2filter/php_apache.h
---- php-4.1.2.org/sapi/apache2filter/php_apache.h Mon Apr 8 02:40:24 2002
-+++ php-4.1.2/sapi/apache2filter/php_apache.h Mon Apr 8 02:34:03 2002
-@@ -1,8 +1,8 @@
- /*
- +----------------------------------------------------------------------+
-- | PHP version 4.0 |
-+ | PHP Version 4 |
- +----------------------------------------------------------------------+
-- | Copyright (c) 1997-2001 The PHP Group |
-+ | Copyright (c) 1997-2002 The PHP Group |
- +----------------------------------------------------------------------+
- | This source file is subject to version 2.02 of the PHP license, |
- | that is bundled with this package in the file LICENSE, and is |
-@@ -12,7 +12,7 @@
- | obtain it through the world-wide-web, please send a note to |
- | license@php.net so we can mail you a copy immediately. |
- +----------------------------------------------------------------------+
-- | Authors: Sascha Schumann <sascha@schumann.cx> |
-+ | Author: Sascha Schumann <sascha@schumann.cx> |
- +----------------------------------------------------------------------+
- */
-
-diff -urN php-4.1.2.org/sapi/apache2filter/php_functions.c php-4.1.2/sapi/apache2filter/php_functions.c
---- php-4.1.2.org/sapi/apache2filter/php_functions.c Mon Apr 8 02:40:24 2002
-+++ php-4.1.2/sapi/apache2filter/php_functions.c Mon Apr 8 02:39:31 2002
-@@ -38,6 +38,7 @@
- {
- zval **p1;
- php_struct *ctx;
-+ SLS_FETCH();
-
- if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &p1) == FAILURE)
- return NULL;
-@@ -109,6 +110,7 @@
- php_struct *ctx;
- apr_array_header_t *arr;
- char *key, *val;
-+ SLS_FETCH();
-
- if (array_init(return_value) == FAILURE) {
- RETURN_FALSE;
-@@ -135,7 +137,7 @@
- };
-
- static zend_module_entry php_apache_module = {
-- STANDARD_MODULE_HEADER,
-+ STANDARD_MODULE_HEADER,
- "Apache 2.0",
- apache_functions,
- NULL,
-diff -urN php-4.1.2.org/sapi/apache2filter/sapi_apache2.c php-4.1.2/sapi/apache2filter/sapi_apache2.c
---- php-4.1.2.org/sapi/apache2filter/sapi_apache2.c Mon Apr 8 02:40:24 2002
-+++ php-4.1.2/sapi/apache2filter/sapi_apache2.c Mon Apr 8 02:30:57 2002
-@@ -1,8 +1,8 @@
- /*
- +----------------------------------------------------------------------+
-- | PHP version 4.0 |
-+ | PHP Version 4 |
- +----------------------------------------------------------------------+
-- | Copyright (c) 1997-2001 The PHP Group |
-+ | Copyright (c) 1997-2002 The PHP Group |
- +----------------------------------------------------------------------+
- | This source file is subject to version 2.02 of the PHP license, |
- | that is bundled with this package in the file LICENSE, and is |
-@@ -48,6 +48,7 @@
- {
- apr_bucket *b;
- apr_bucket_brigade *bb;
-+ apr_bucket_alloc_t *ba;
- php_struct *ctx;
- uint now;
-
-@@ -55,10 +56,11 @@
-
- if (str_length == 0) return 0;
-
-- bb = apr_brigade_create(ctx->f->r->pool);
-+ ba = ctx->f->r->connection->bucket_alloc;
-+ bb = apr_brigade_create(ctx->f->r->pool, ba);
- while (str_length > 0) {
- now = MIN(str_length, 4096);
-- b = apr_bucket_transient_create(str, now);
-+ b = apr_bucket_transient_create(str, now, ba);
- APR_BRIGADE_INSERT_TAIL(bb, b);
- str += now;
- str_length -= now;
-@@ -145,7 +147,7 @@
- php_apache_sapi_register_variables(zval *track_vars_array TSRMLS_DC)
- {
- php_struct *ctx = SG(server_context);
-- apr_array_header_t *arr = apr_table_elts(ctx->f->r->subprocess_env);
-+ const apr_array_header_t *arr = apr_table_elts(ctx->f->r->subprocess_env);
- char *key, *val;
-
- APR_ARRAY_FOREACH_OPEN(arr, key, val)
-@@ -161,15 +163,20 @@
- {
- php_struct *ctx = server_context;
- apr_bucket_brigade *bb;
-+ apr_bucket_alloc_t *ba;
- apr_bucket *b;
-
-+ if (!server_context)
-+ return;
-+
- /* Send a flush bucket down the filter chain. The current default
- * handler seems to act on the first flush bucket, but ignores
- * all further flush buckets.
- */
-
-- bb = apr_brigade_create(ctx->f->r->pool);
-- b = apr_bucket_flush_create();
-+ ba = ctx->f->r->connection->bucket_alloc;
-+ bb = apr_brigade_create(ctx->f->r->pool, ba);
-+ b = apr_bucket_flush_create(ba);
- APR_BRIGADE_INSERT_TAIL(bb, b);
- if (ap_pass_brigade(ctx->f->next, bb) != APR_SUCCESS) {
- php_handle_aborted_connection();
-@@ -182,8 +189,13 @@
- TSRMLS_FETCH();
-
- ctx = SG(server_context);
--
-- apr_file_puts(msg, ctx->f->r->server->error_log);
-+
-+ /* We use APLOG_STARTUP because it keeps us from printing the
-+ * data and time information at the beginning of the error log
-+ * line. Not sure if this is correct, but it mirrors what happens
-+ * with Apache 1.3 -- rbb
-+ */
-+ ap_log_error(APLOG_MARK, APLOG_ERR | APLOG_NOERRNO | APLOG_STARTUP, 0, ctx->f->r->server, "%s", msg);
- }
-
- static sapi_module_struct apache2_sapi_module = {
-@@ -226,11 +238,11 @@
- if (ctx == NULL) { \
- /* Initialize filter context */ \
- SG(server_context) = ctx = apr_pcalloc(f->r->pool, sizeof(*ctx)); \
-- ctx->bb = apr_brigade_create(f->c->pool); \
-+ ctx->bb = apr_brigade_create(f->c->pool, f->c->bucket_alloc); \
- }
-
- static int php_input_filter(ap_filter_t *f, apr_bucket_brigade *bb,
-- ap_input_mode_t mode, apr_size_t *readbytes)
-+ ap_input_mode_t mode, apr_read_type_e block, apr_off_t readbytes)
- {
- php_struct *ctx;
- long old_index;
-@@ -240,11 +252,15 @@
- apr_status_t rv;
- TSRMLS_FETCH();
-
-+ if (f->r->proxyreq) {
-+ return ap_get_brigade(f->next, bb, mode, block, readbytes);
-+ }
-+
- ctx = SG(server_context);
-
- INIT_CTX;
-
-- if ((rv = ap_get_brigade(f->next, bb, mode, readbytes)) != APR_SUCCESS) {
-+ if ((rv = ap_get_brigade(f->next, bb, mode, block, readbytes)) != APR_SUCCESS) {
- return rv;
- }
-
-@@ -307,6 +323,14 @@
- void *conf = ap_get_module_config(f->r->per_dir_config, &php4_module);
- TSRMLS_FETCH();
-
-+ if (f->r->proxyreq) {
-+ return ap_pass_brigade(f->next, bb);
-+ }
-+
-+ /* setup standard CGI variables */
-+ ap_add_common_vars(f->r);
-+ ap_add_cgi_vars(f->r);
-+
- ctx = SG(server_context);
- INIT_CTX;
-
-@@ -361,9 +385,9 @@
- php_execute_script(&zfd TSRMLS_CC);
- } else {
-
--#define NO_DATA "The PHP Filter did not receive suitable input data"
-+#define PHP_NO_DATA "The PHP Filter did not receive suitable input data"
-
-- eos = apr_bucket_transient_create(NO_DATA, sizeof(NO_DATA)-1);
-+ eos = apr_bucket_transient_create(PHP_NO_DATA, sizeof(PHP_NO_DATA)-1, f->c->bucket_alloc);
- APR_BRIGADE_INSERT_HEAD(bb, eos);
- }
- }
-@@ -372,7 +396,7 @@
-
- SG(server_context) = 0;
- /* Pass EOS bucket to next filter to signal end of request */
-- eos = apr_bucket_eos_create();
-+ eos = apr_bucket_eos_create(f->c->bucket_alloc);
- APR_BRIGADE_INSERT_TAIL(bb, eos);
-
- return ap_pass_brigade(f->next, bb);
-@@ -391,21 +415,67 @@
- return APR_SUCCESS;
- }
-
--static void
--php_apache_server_startup(apr_pool_t *pchild, server_rec *s)
-+static void php_apache_add_version(apr_pool_t *p)
-+{
-+ TSRMLS_FETCH();
-+ if (PG(expose_php)) {
-+ ap_add_version_component(p, "PHP/" PHP_VERSION);
-+ }
-+}
-+
-+static int
-+php_apache_server_startup(apr_pool_t *pconf, apr_pool_t *plog,
-+ apr_pool_t *ptemp, server_rec *s)
- {
- tsrm_startup(1, 1, 0, NULL);
- sapi_startup(&apache2_sapi_module);
- apache2_sapi_module.startup(&apache2_sapi_module);
-- apr_pool_cleanup_register(pchild, NULL, php_apache_server_shutdown, NULL);
-+ apr_pool_cleanup_register(pconf, NULL, php_apache_server_shutdown, apr_pool_cleanup_null);
- php_apache_register_module();
-+ php_apache_add_version(pconf);
-+
-+ return OK;
-+}
-+
-+static void php_add_filter(request_rec *r, ap_filter_t *f)
-+{
-+ int output = (f == r->output_filters);
-+
-+ /* for those who still have Set*Filter PHP configured */
-+ while (f) {
-+ if (strcmp(f->frec->name, "PHP") == 0) {
-+ ap_log_error(APLOG_MARK, APLOG_WARNING | APLOG_NOERRNO,
-+ 0, r->server,
-+ "\"Set%sFilter PHP\" already configured for %s",
-+ output ? "Output" : "Input", r->uri);
-+ return;
-+ }
-+ f = f->next;
-+ }
-+
-+ if (output) {
-+ ap_add_output_filter("PHP", NULL, r, r->connection);
-+ }
-+ else {
-+ ap_add_input_filter("PHP", NULL, r, r->connection);
-+ }
-+}
-+
-+static void php_insert_filter(request_rec *r)
-+{
-+ if (r->content_type &&
-+ strcmp(r->content_type, "application/x-httpd-php") == 0) {
-+ php_add_filter(r, r->output_filters);
-+ php_add_filter(r, r->input_filters);
-+ }
- }
-
- static void php_register_hook(apr_pool_t *p)
- {
-- ap_hook_child_init(php_apache_server_startup, NULL, NULL, APR_HOOK_MIDDLE);
-- ap_register_output_filter("PHP", php_output_filter, AP_FTYPE_CONTENT);
-- ap_register_input_filter("PHP", php_input_filter, AP_FTYPE_CONTENT);
-+ ap_hook_post_config(php_apache_server_startup, NULL, NULL, APR_HOOK_MIDDLE);
-+ ap_hook_insert_filter(php_insert_filter, NULL, NULL, APR_HOOK_MIDDLE);
-+ ap_register_output_filter("PHP", php_output_filter, AP_FTYPE_RESOURCE);
-+ ap_register_input_filter("PHP", php_input_filter, AP_FTYPE_RESOURCE);
- }
-
- AP_MODULE_DECLARE_DATA module php4_module = {
-@@ -417,3 +487,12 @@
- php_dir_cmds, /* command apr_table_t */
- php_register_hook /* register hooks */
- };
-+
-+/*
-+ * Local variables:
-+ * tab-width: 4
-+ * c-basic-offset: 4
-+ * End:
-+ * vim600: sw=4 ts=4 fdm=marker
-+ * vim<600: sw=4 ts=4
-+ */
+++ /dev/null
-diff -Naur php-4.1.2.orig/ext/skeleton/create_stubs php-4.1.2/ext/skeleton/create_stubs
---- php-4.1.2.orig/ext/skeleton/create_stubs Fri May 31 11:50:08 2002
-+++ php-4.1.2/ext/skeleton/create_stubs Fri May 31 11:52:00 2002
-@@ -1,4 +1,4 @@
--#!/usr/bin/awk -f
-+#!/bin/awk -f
-
- function gobble(s, x)
- {
+++ /dev/null
-; php-cgi.ini - configuration used only for cgi SAPI
-;
-; Please note that, unlikely in original php distributions, this file
-; is read AFTER (not instead of) reading global /etc/php/php.ini.
-;
-; It allows you to control global settings for all SAPIs in one place
-; and override some settings in SAPI-specific files without need of
-; copying whole large php.ini.
-
-[Session]
-session.save_path = /tmp ; argument passed to save_handler
- ; in the case of files, this is the
- ; path where data files are stored
-
+++ /dev/null
-; php-cli.ini - configuration used only for cli SAPI
-;
-; Please note that, unlikely in original php distributions, this file
-; is read AFTER (not instead of) reading global /etc/php/php.ini.
-;
-; It allows you to control global settings for all SAPIs in one place
-; and override some settings in SAPI-specific files without need of
-; copying whole large php.ini.
-
-[Session]
-session.save_path = /tmp ; argument passed to save_handler
- ; in the case of files, this is the
- ; path where data files are stored
-
+++ /dev/null
---- php-4.3.3RC3/ext/cpdf/config.m4.orig 2003-06-26 20:06:46.000000000 +0200
-+++ php-4.3.3RC3/ext/cpdf/config.m4 2003-08-16 16:03:49.062764192 +0200
-@@ -53,7 +53,8 @@
- PHP_WITH_SHARED
- if test "$withval" != "no"; then
- cpdf_withval=$withval
-- PHP_NEW_EXTENSION(cpdf, cpdf.c, $ext_shared,, \\$(GDLIB_CFLAGS))
-+ PHP_NEW_EXTENSION(cpdf, cpdf.c, $shared,, \\$(GDLIB_CFLAGS))
-+ ext_shared=$shared
- PHP_SUBST(CPDF_SHARED_LIBADD)
- CPDF_JPEG_TEST
- CPDF_TIFF_TEST
+++ /dev/null
---- php-4.3.3RC3/ext/db/config.m4.orig 2002-11-15 17:37:51.000000000 +0100
-+++ php-4.3.3RC3/ext/db/config.m4 2003-08-16 16:08:12.152768432 +0200
-@@ -5,10 +5,10 @@
- # Checks for libraries.
- # Prefer gdbm, Berkeley DB and ndbm/dbm, in that order
- AC_DEFUN(AC_PREFERRED_DB_LIB,[
-- AC_CHECK_LIB(gdbm, gdbm_open,[AC_DEFINE(GDBM,1, [Whether you have GDBM]) DBM_TYPE=gdbm; DBM_LIB=-lgdbm],
-+ AC_CHECK_LIB(gdbm, gdbm_open,[AC_DEFINE(GDBM,1, [Whether you have GDBM]) DBM_TYPE=gdbm; DBM_LIB=gdbm],
- [AC_CHECK_LIB(c, dbm_open,[AC_DEFINE(NDBM,1,[ ]) DBM_TYPE=ndbm; DBM_LIB=],
-- [AC_CHECK_LIB(dbm, dbm_open,[AC_DEFINE(NDBM,1,[ ]) DBM_TYPE=ndbm; DBM_LIB=-ldbm],
-- [AC_CHECK_LIB(db, dbm_open,[AC_DEFINE(NDBM,1, [Whether you have NDBM]) DBM_TYPE=ndbm; DBM_LIB=-ldb],
-+ [AC_CHECK_LIB(dbm, dbm_open,[AC_DEFINE(NDBM,1,[ ]) DBM_TYPE=ndbm; DBM_LIB=dbm],
-+ [AC_CHECK_LIB(db, dbm_open,[AC_DEFINE(NDBM,1, [Whether you have NDBM]) DBM_TYPE=ndbm; DBM_LIB=db],
- [DBM_TYPE=""])
- ])
- ])
-@@ -32,7 +32,7 @@
-
- AC_PREFERRED_DB_LIB
-
-- if test "$DBM_LIB" = "-lgdbm"; then
-+ if test "$DBM_LIB" = "gdbm"; then
- AC_CHECK_HEADER(gdbm.h, [ GDBM_INCLUDE="" ], [
- AC_MSG_RESULT("Try /usr/local/include/gdbm.h");
- AC_CHECK_HEADER(/usr/local/include/gdbm.h, [ GDBM_INCLUDE=-I/usr/local/include ],[
-@@ -49,10 +49,11 @@
- ])
- fi
-
-+ PHP_NEW_EXTENSION(db, db.c, $ext_shared)
-+ PHP_SUBST(DB_SHARED_LIBADD)
- if test -n "$DBM_LIB"; then
-- INCLUDES="$INCLUDES $GDBM_INCLUDE"
-- EXTRA_LIBS="$EXTRA_LIBS $DBM_LIB"
-+ PHP_ADD_INCLUDE($GDBM_INCLUDE)
-+ PHP_ADD_LIBRARY_WITH_PATH($DBM_LIB, , DB_SHARED_LIBADD)
- fi
-
-- PHP_NEW_EXTENSION(db, db.c)
- fi
+++ /dev/null
---- php-4.1.1/ext/domxml/php_domxml.c~ Thu Feb 14 15:23:48 2002
-+++ php-4.1.1/ext/domxml/php_domxml.c Thu Feb 14 15:23:48 2002
-@@ -833,6 +833,7 @@
- if (Z_TYPE_P(obj) == XML_ENTITY_REF_NODE) {
- content = xmlNodeGetContent(nodep);
- if (content)
-+ add_property_long(wrapper, "type", Z_TYPE_P(nodep));
- add_property_stringl(wrapper, "content", (char *) content, strlen(content), 1);
- }
- break;
+++ /dev/null
---- php-4.3.0/ext/hyperwave/config.m4.orig Thu Jan 2 23:17:53 2003
-+++ php-4.3.0/ext/hyperwave/config.m4 Thu Jan 2 23:19:42 2003
-@@ -2,19 +2,12 @@
- dnl $Id$
- dnl
-
--AC_MSG_CHECKING(for Hyperwave support)
--AC_ARG_WITH(hyperwave,
--[ --with-hyperwave Include Hyperwave support],
--[
-- if test "$withval" != "no"; then
-+PHP_ARG_WITH(hyperwave, for Hyperwave support,
-+[ --with-hyperwave Include Hyperwave support])
-+
-+ if test "$PHP_HYPERWAVE" != "no"; then
- AC_DEFINE(HYPERWAVE,1,[ ])
-- AC_MSG_RESULT(yes)
-- PHP_NEW_EXTENSION(hyperwave, hw.c hg_comm.c)
-+ PHP_NEW_EXTENSION(hyperwave, hw.c hg_comm.c, $ext_shared)
- else
- AC_DEFINE(HYPERWAVE,0,[ ])
-- AC_MSG_RESULT(no)
- fi
--],[
-- AC_DEFINE(HYPERWAVE,0,[ ])
-- AC_MSG_RESULT(no)
--])
+++ /dev/null
---- php-4.1.1/ext/standard/image.c~ Thu Feb 14 15:40:36 2002
-+++ php-4.1.1/ext/standard/image.c Thu Feb 14 15:40:36 2002
-@@ -323,7 +323,9 @@
- unsigned int marker;
- char tmp[2];
- unsigned char a[4];
--
-+ unsigned short skip;
-+ unsigned char *buffer;
-+
- for (;;) {
- marker = php_next_marker(socketd, fp, issock);
- switch (marker) {
-@@ -349,7 +351,12 @@
- result->height = (((unsigned short) a[ 0 ]) << 8) + ((unsigned short) a[ 1 ]);
- result->width = (((unsigned short) a[ 2 ]) << 8) + ((unsigned short) a[ 3 ]);
- result->channels = FP_FGETC(socketd, fp, issock);
--
-+ /* skip component specification parameters */
-+ skip = result-> channels *3;
-+ buffer = emalloc(skip);
-+ FP_FREAD(buffer, (long) skip, socketd, fp, issock);
-+ efree(buffer);
-+
- if (! info) /* if we don't want an extanded info -> return */
- return result;
- } else {
+++ /dev/null
---- php-4.0.6/ext/imap/config.m4.imap Wed Jul 11 09:21:00 2001
-+++ php-4.0.6/ext/imap/config.m4 Wed Jul 11 09:28:24 2001
-@@ -49,14 +49,11 @@
-
- if test "$PHP_IMAP_SSL" != "no"; then
- PHP_ADD_LIBPATH($PHP_IMAP_SSL/lib, IMAP_SHARED_LIBADD)
-- PHP_ADD_LIBRARY_DEFER(crypto)
-- PHP_ADD_LIBRARY_DEFER(ssl)
-+ PHP_ADD_LIBRARY(crypto, 1, IMAP_SHARED_LIBADD)
-+ PHP_ADD_LIBRARY(ssl, 1, IMAP_SHARED_LIBADD)
-
- old_LIBS=$LIBS
-- LIBS="$LIBS -lc-client"
-- if test $PHP_KERBEROS != "no"; then
-- LIBS="$LIBS -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err"
-- fi
-+ LIBS="$LIBS $IMAP_SHARED_LIBADD"
- AC_TRY_RUN([
- void mm_log(void){}
- void mm_dlog(void){}
-@@ -133,8 +130,7 @@
- fi
-
- PHP_ADD_INCLUDE($IMAP_INC_DIR)
-- PHP_ADD_LIBPATH($IMAP_LIBDIR, IMAP_SHARED_LIBADD)
-- PHP_ADD_LIBRARY_DEFER($IMAP_LIB)
-+ PHP_ADD_LIBRARY_WITH_PATH($IMAP_LIB, $IMAP_LIBDIR, IMAP_SHARED_LIBADD)
- PHP_IMAP_KRB_CHK
- PHP_IMAP_SSL_CHK
- fi
+++ /dev/null
---- php-4.3.0/php.ini-dist Thu Dec 26 14:27:08 2002
-+++ php-4.3.0/php.ini Sat Jan 4 21:01:55 2003
-@@ -3,12 +3,18 @@
- ;;;;;;;;;;;
- ; WARNING ;
- ;;;;;;;;;;;
--; This is the default settings file for new PHP installations.
--; By default, PHP installs itself with a configuration suitable for
--; development purposes, and *NOT* for production purposes.
--; For several security-oriented considerations that should be taken
--; before going online with your site, please consult php.ini-recommended
--; and http://php.net/manual/en/security.php.
-+; This is the default settings file for new PHP installations from
-+; PLD Linux Distribution.
-+; It's based mainly on php.ini-dist, but with some changes made with
-+; security in mind (see below, consult also
-+; http://php.net/manual/en/security.php).
-+;
-+; Please note, that in PLD installations, /etc/php/php.ini file
-+; contains GLOBAL settings for all SAPIs (cgi, cli, apache...),
-+; and after reading this file, SAPI-specific file (/etc/php/php-cgi.ini,
-+; /etc/php/php-cli.ini, /etc/php/php-apache.ini...) is INCLUDED
-+; (so you don't need to duplicate whole large file to override only
-+; few options).
-
-
- ;;;;;;;;;;;;;;;;;;;
-@@ -54,12 +60,70 @@
- ; If you use constants in your value, and these constants belong to a
- ; dynamically loaded extension (either a PHP extension or a Zend extension),
- ; you may only use these constants *after* the line that loads the extension.
--;
--; All the values in the php.ini-dist file correspond to the builtin
--; defaults (that is, if no php.ini is used, or if you delete these lines,
--; the builtin defaults will be identical).
-
-
-+; Below is the list of settings changed from default as specified in
-+; php.ini-recommended. These settings make PHP more secure and encourage
-+; cleaner coding.
-+; The price is that with these settings, PHP may be incompatible with some old
-+; or bad-written applications, and sometimes, more difficult to develop with.
-+; Using this settings is warmly recommended for production sites. As all of
-+; the changes from the standard settings are thoroughly documented, you can
-+; go over each one, and decide whether you want to use it or not.
-+;
-+; - register_globals = Off [Security, Performance]
-+; Global variables are no longer registered for input data (POST, GET, cookies,
-+; environment and other server variables). Instead of using $foo, you must use
-+; you can use $_REQUEST["foo"] (includes any variable that arrives through the
-+; request, namely, POST, GET and cookie variables), or use one of the specific
-+; $_GET["foo"], $_POST["foo"], $_COOKIE["foo"] or $_FILES["foo"], depending
-+; on where the input originates. Also, you can look at the
-+; import_request_variables() function.
-+; Note that register_globals = Off is the default setting since PHP 4.2.0.
-+; - display_errors = Off [Security]
-+; With this directive set to off, errors that occur during the execution of
-+; scripts will no longer be displayed as a part of the script output, and thus,
-+; will no longer be exposed to remote users. With some errors, the error message
-+; content may expose information about your script, web server, or database
-+; server that may be exploitable for hacking. Production sites should have this
-+; directive set to off.
-+; - log_errors = On [Security]
-+; This directive complements the above one. Any errors that occur during the
-+; execution of your script will be logged (typically, to your server's error log,
-+; but can be configured in several ways). Along with setting display_errors to off,
-+; this setup gives you the ability to fully understand what may have gone wrong,
-+; without exposing any sensitive information to remote users.
-+; - error_reporting = E_ALL [Code Cleanliness, Security(?)]
-+; By default, PHP surpresses errors of type E_NOTICE. These error messages
-+; are emitted for non-critical errors, but that could be a symptom of a bigger
-+; problem. Most notably, this will cause error messages about the use
-+; of uninitialized variables to be displayed.
-+
-+; For completeness, below is list of the rest of changes recommended for
-+; performance, but NOT applied in default php.ini in PLD (since they are
-+; not needed for security or may cause problems with some applications
-+; more likely than above).
-+
-+; - output_buffering = 4096 [Performance]
-+; Set a 4KB output buffer. Enabling output buffering typically results in less
-+; writes, and sometimes less packets sent on the wire, which can often lead to
-+; better performance. The gain this directive actually yields greatly depends
-+; on which Web server you're working with, and what kind of scripts you're using.
-+; - register_argc_argv = Off [Performance]
-+; Disables registration of the somewhat redundant $argv and $argc global
-+; variables.
-+; - magic_quotes_gpc = Off [Performance]
-+; Input data is no longer escaped with slashes so that it can be sent into
-+; SQL databases without further manipulation. Instead, you should use the
-+; function addslashes() on each input element you wish to send to a database.
-+; - variables_order = "GPCS" [Performance]
-+; The environment variables are not hashed into the $HTTP_ENV_VARS[]. To access
-+; environment variables, you can use getenv() instead.
-+; - allow_call_time_pass_reference = Off [Code cleanliness]
-+; It's not possible to decide to force a variable to be passed by reference
-+; when calling a function. The PHP 4 style to do this is by making the
-+; function require the relevant argument by reference.
-+
- ;;;;;;;;;;;;;;;;;;;;
- ; Language Options ;
- ;;;;;;;;;;;;;;;;;;;;
-@@ -79,7 +143,7 @@
- asp_tags = Off
-
- ; The number of significant digits displayed in floating point numbers.
--precision = 12
-+precision = 14
-
- ; Enforce year 2000 compliance (will cause problems with non-compliant browsers)
- y2k_compliance = On
-@@ -255,16 +319,16 @@
- ;
- ;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR
- ;
--; - Show all errors except for notices
-+; - Show all errors
- ;
--error_reporting = E_ALL & ~E_NOTICE
-+error_reporting = E_ALL
-
- ; Print out errors (as a part of the output). For production web sites,
- ; you're strongly encouraged to turn this feature off, and use error logging
- ; instead (see below). Keeping display_errors enabled on a production web site
- ; may reveal security information to end users, such as file paths on your Web
- ; server, your database schema or other information.
--display_errors = On
-+display_errors = Off
-
- ; Even when display_errors is on, errors that occur during PHP's startup
- ; sequence are not displayed. It's strongly recommended to keep
-@@ -274,7 +338,7 @@
- ; Log errors into a log file (server-specific log, stderr, or error_log (below))
- ; As stated above, you're strongly advised to use error logging in place of
- ; error displaying on production web sites.
--log_errors = Off
-+log_errors = On
-
- ; Set maximum length of log_errors. In error_log information about the source is
- ; added. The default is 1024 and 0 allows to not apply any maximum length at all.
-@@ -420,7 +484,7 @@
- user_dir =
-
- ; Directory in which the loadable extensions (modules) reside.
--extension_dir = "./"
-+extension_dir = "/usr/lib/php"
-
- ; 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
-@@ -587,10 +651,10 @@
- ;sendmail_path =
-
- [Java]
--;java.class.path = .\php_java.jar
--;java.home = c:\jdk
--;java.library = c:\jdk\jre\bin\hotspot\jvm.dll
--;java.library.path = .\
-+java.class.path = /usr/lib/php/php_java.jar
-+;java.home = /usr/lib/java
-+;java.library = /usr/lib/java/jre/lib/i386/libjava.so
-+java.library.path = /usr/lib/php
-
- [SQL]
- sql.safe_mode = Off
-@@ -685,6 +749,7 @@
- pgsql.max_links = -1
-
- ; Ignore PostgreSQL backends Notice message or not.
-+; Notice message logging require a little overheads.
- pgsql.ignore_notice = 0
-
- ; Log PostgreSQL backends Noitce message or not.
-@@ -804,7 +869,9 @@
- ; You can use the script in the ext/session dir for that purpose.
- ; NOTE 2: See the section on garbage collection below if you choose to
- ; use subdirectories for session storage
--session.save_path = /tmp
-+; NOTE 3: you may need to override this setting for cli or cgi SAPIs,
-+; to allow running them as user other than http
-+session.save_path = /var/run/php
-
- ; Whether to use cookies.
- session.use_cookies = 1
+++ /dev/null
-diff -burN php-4.3.2/ext/java/config.m4 php-4.3.2-java-norpath/ext/java/config.m4
---- php-4.3.2/ext/java/config.m4 Fri Apr 4 19:43:13 2003
-+++ php-4.3.2-java-norpath/ext/java/config.m4 Wed Jun 11 09:38:23 2003
-@@ -58,7 +58,6 @@
- AC_DEFUN(JAVA_CHECK_LIB, [
- AC_MSG_CHECKING([Checking for libjava])
- if test -d $PHP_JAVA/lib/kaffe; then
-- PHP_ADD_LIBPATH($PHP_JAVA/lib)
- JAVA_CFLAGS=-DKAFFE
- JAVA_INCLUDE=-I$PHP_JAVA/include/kaffe
- JAVA_CLASSPATH=$PHP_JAVA/share/kaffe/Klasses.jar
-@@ -111,10 +110,6 @@
- JAVA_LIB=java
- JAVA_LIBPATH=$i
-
-- test -d $i/hotspot && PHP_ADD_LIBPATH($i/hotspot)
-- test -d $i/classic && PHP_ADD_LIBPATH($i/classic)
-- test -d $i/server && PHP_ADD_LIBPATH($i/server)
-- test -d $i/native_threads && PHP_ADD_LIBPATH($i/native_threads)
- fi
- done
-
-@@ -160,19 +155,12 @@
- AC_MSG_ERROR([unable to find Java VM libraries in $PHP_JAVA])
- fi
-
-- PHP_ADD_LIBPATH($JAVA_LIBPATH)
- JAVA_CFLAGS="$JAVA_CFLAGS '-DJAVALIB=\"$JAVA_LIBPATH/$java_libext\"'"
- fi
-
- if test "$PHP_SAPI" != "servlet"; then
- PHP_NEW_EXTENSION(java, java.c, shared,, $JAVA_CFLAGS $JAVA_INCLUDE)
-
-- if test "$PHP_SAPI" = "cgi"; then
-- if test "$platform" != "Darwin"; then
-- PHP_ADD_LIBRARY($JAVA_LIB)
-- fi
-- fi
--
- if test -n "$INSTALL_IT"; then
- INSTALL_IT="$INSTALL_IT ;"
- fi
+++ /dev/null
-diff -durN -x '*~' -x '*.orig' php-4.3.4.orig/ext/cpdf/config.m4 php-4.3.4/ext/cpdf/config.m4
---- php-4.3.4.orig/ext/cpdf/config.m4 2004-12-30 21:22:11.000000000 +0100
-+++ php-4.3.4/ext/cpdf/config.m4 2004-12-31 14:16:24.084622784 +0100
-@@ -4,7 +4,7 @@
- AC_ARG_WITH(jpeg-dir,
- [ --with-jpeg-dir[=DIR] CPDF: Set the path to libjpeg install prefix.],[
- for i in $withval /usr/local /usr; do
-- if test -f "$i/lib/libjpeg.$SHLIB_SUFFIX_NAME" -o -f "$i/lib/libjpeg.a"; then
-+ if test -f "$i/lib64/libjpeg.$SHLIB_SUFFIX_NAME" -o -f "$i/lib64/libjpeg.a"; then
- CPDF_JPEG_DIR=$i
- break;
- fi
-@@ -14,11 +14,11 @@
- AC_MSG_ERROR([libjpeg.(a|so) not found.])
- fi
- PHP_CHECK_LIBRARY(jpeg, jpeg_read_header, [
-- PHP_ADD_LIBRARY_WITH_PATH(jpeg, $CPDF_JPEG_DIR/lib, CPDF_SHARED_LIBADD)
-+ PHP_ADD_LIBRARY_WITH_PATH(jpeg, $CPDF_JPEG_DIR/lib64, CPDF_SHARED_LIBADD)
- ] ,[
- AC_MSG_ERROR([CPDF: Problem with libjpeg.(a|so). Please check config.log for more information.])
- ], [
-- -L$CPDF_JPEG_DIR/lib
-+ -L$CPDF_JPEG_DIR/lib64
- ])
- ],)
- ])
-@@ -27,7 +27,7 @@
- AC_ARG_WITH(tiff-dir,
- [ --with-tiff-dir[=DIR] CPDF: Set the path to libtiff install prefix.],[
- for i in $withval /usr/local /usr; do
-- if test -f "$i/lib/libtiff.$SHLIB_SUFFIX_NAME" -o -f "$i/lib/libtiff.a"; then
-+ if test -f "$i/lib64/libtiff.$SHLIB_SUFFIX_NAME" -o -f "$i/lib64/libtiff.a"; then
- CPDF_TIFF_DIR=$i
- break;
- fi
-@@ -37,11 +37,11 @@
- AC_MSG_ERROR([libtiff.(a|so) not found.])
- fi
- PHP_CHECK_LIBRARY(tiff, TIFFOpen, [
-- PHP_ADD_LIBRARY_WITH_PATH(tiff, $CPDF_TIFF_DIR/lib, CPDF_SHARED_LIBADD)
-+ PHP_ADD_LIBRARY_WITH_PATH(tiff, $CPDF_TIFF_DIR/lib64, CPDF_SHARED_LIBADD)
- ] ,[
- AC_MSG_ERROR([CPDF: Problem with libtiff.(a|so). Please check config.log for more information.])
- ], [
-- -L$CPDF_TIFF_DIR/lib
-+ -L$CPDF_TIFF_DIR/lib64
- ])
- ],)
- ])
-@@ -67,12 +67,12 @@
-
- PHP_CHECK_LIBRARY(cpdf, cpdf_open, [
- PHP_ADD_INCLUDE($CPDFLIB_INCLUDE)
-- PHP_ADD_LIBRARY_WITH_PATH(cpdf, $i/lib, CPDF_SHARED_LIBADD)
-+ PHP_ADD_LIBRARY_WITH_PATH(cpdf, $i/lib64, CPDF_SHARED_LIBADD)
- AC_DEFINE(HAVE_CPDFLIB,1,[Whether you have cpdflib])
- ], [
- AC_MSG_ERROR([Cpdflib module requires cpdflib >= 2.])
- ], [
-- -L$i/lib $CPDF_SHARED_LIBADD
-+ -L$i/lib64 $CPDF_SHARED_LIBADD
- ])
- break
- fi
-diff -durN -x '*~' -x '*.orig' php-4.3.4.orig/ext/crack/config.m4 php-4.3.4/ext/crack/config.m4
---- php-4.3.4.orig/ext/crack/config.m4 2003-10-01 04:53:54.000000000 +0200
-+++ php-4.3.4/ext/crack/config.m4 2004-12-31 14:16:24.084622784 +0100
-@@ -7,7 +7,7 @@
-
- if test "$PHP_CRACK" != "no"; then
-
-- for i in $PHP_CRACK/lib $PHP_CRACK/cracklib /usr/local/lib /usr/lib; do
-+ for i in $PHP_CRACK/lib64 $PHP_CRACK/cracklib /usr/local/lib64 /usr/lib64; do
- test -f $i/libcrack.$SHLIB_SUFFIX_NAME -o -f $i/libcrack.a && CRACK_LIBDIR=$i && break
- done
-
-diff -durN -x '*~' -x '*.orig' php-4.3.4.orig/ext/dba/config.m4 php-4.3.4/ext/dba/config.m4
---- php-4.3.4.orig/ext/dba/config.m4 2004-12-30 21:22:12.000000000 +0100
-+++ php-4.3.4/ext/dba/config.m4 2004-12-31 14:16:24.084622784 +0100
-@@ -18,7 +18,7 @@
- dnl Assign INCLUDE/LFLAGS from PREFIX
- AC_DEFUN(PHP_DBA_STD_ASSIGN,[
- if test -n "$THIS_PREFIX" && test "$THIS_PREFIX" != "/usr"; then
-- THIS_LFLAGS=$THIS_PREFIX/lib
-+ THIS_LFLAGS=$THIS_PREFIX/lib64
- fi
- ])
-
-@@ -83,7 +83,7 @@
- AC_DEFINE_UNQUOTED(GDBM_INCLUDE_FILE, "$THIS_INCLUDE", [ ])
- AC_DEFINE(DBA_GDBM, 1, [ ])
- THIS_LIBS=gdbm
-- ], [], [-L$THIS_PREFIX/lib])
-+ ], [], [-L$THIS_PREFIX/lib64])
- fi
-
- PHP_DBA_STD_ASSIGN
-@@ -115,7 +115,7 @@
- AC_DEFINE_UNQUOTED(NDBM_INCLUDE_FILE, "$THIS_INCLUDE", [ ])
- AC_DEFINE(DBA_NDBM, 1, [ ])
- THIS_LIBS=$LIB
-- ], [], [-L$THIS_PREFIX/lib])
-+ ], [], [-L$THIS_PREFIX/lib64])
- if test -n "$THIS_LIBS"; then
- break
- fi
-@@ -133,8 +133,8 @@
- dnl parameters(version, library list, function)
- AC_DEFUN(PHP_DBA_DB_CHECK,[
- for LIB in $2; do
-- if test -f $THIS_PREFIX/lib/lib$LIB.a -o -f $THIS_PREFIX/lib/lib$LIB.$SHLIB_SUFFIX_NAME; then
-- PHP_TEMP_LDFLAGS(-L$THIS_PREFIX/lib -l$LIB,[
-+ if test -f $THIS_PREFIX/lib64/lib$LIB.a -o -f $THIS_PREFIX/lib64/lib$LIB.$SHLIB_SUFFIX_NAME; then
-+ PHP_TEMP_LDFLAGS(-L$THIS_PREFIX/lib64 -l$LIB,[
- AC_TRY_LINK([
- #include "$THIS_INCLUDE"
- ],[
-@@ -326,7 +326,7 @@
- fi
- AC_DEFINE(DBA_DBM, 1, [ ])
- THIS_LIBS=$LIB
-- ], [], [-L$THIS_PREFIX/lib])
-+ ], [], [-L$THIS_PREFIX/lib64])
- if test -n "$THIS_LIBS"; then
- break
- fi
-@@ -368,7 +368,7 @@
- AC_DEFINE_UNQUOTED(CDB_INCLUDE_FILE, "$THIS_INCLUDE", [ ])
- AC_DEFINE(DBA_CDB, 1, [ ])
- THIS_LIBS=$LIB
-- ], [], [-L$THIS_PREFIX/lib])
-+ ], [], [-L$THIS_PREFIX/lib64])
- if test -n "$THIS_LIBS"; then
- break
- fi
-diff -durN -x '*~' -x '*.orig' php-4.3.4.orig/ext/gd/config.m4 php-4.3.4/ext/gd/config.m4
---- php-4.3.4.orig/ext/gd/config.m4 2003-10-01 04:53:57.000000000 +0200
-+++ php-4.3.4/ext/gd/config.m4 2004-12-31 14:16:24.085622632 +0100
-@@ -51,7 +51,7 @@
- if test "$PHP_JPEG_DIR" != "no"; then
-
- for i in $PHP_JPEG_DIR /usr/local /usr; do
-- test -f $i/lib/libjpeg.$SHLIB_SUFFIX_NAME -o -f $i/lib/libjpeg.a && GD_JPEG_DIR=$i && break
-+ test -f $i/lib64/libjpeg.$SHLIB_SUFFIX_NAME -o -f $i/lib64/libjpeg.a && GD_JPEG_DIR=$i && break
- done
-
- if test -z "$GD_JPEG_DIR"; then
-@@ -61,11 +61,11 @@
- PHP_CHECK_LIBRARY(jpeg,jpeg_read_header,
- [
- PHP_ADD_INCLUDE($GD_JPEG_DIR/include)
-- PHP_ADD_LIBRARY_WITH_PATH(jpeg, $GD_JPEG_DIR/lib, GD_SHARED_LIBADD)
-+ PHP_ADD_LIBRARY_WITH_PATH(jpeg, $GD_JPEG_DIR/lib64, GD_SHARED_LIBADD)
- ],[
- AC_MSG_ERROR([Problem with libjpeg.(a|so). Please check config.log for more information.])
- ],[
-- -L$GD_JPEG_DIR/lib
-+ -L$GD_JPEG_DIR/lib64
- ])
- else
- AC_MSG_RESULT([If configure fails try --with-jpeg-dir=<DIR>])
-@@ -76,7 +76,7 @@
- if test "$PHP_PNG_DIR" != "no"; then
-
- for i in $PHP_PNG_DIR /usr/local /usr; do
-- test -f $i/lib/libpng.$SHLIB_SUFFIX_NAME -o -f $i/lib/libpng.a && GD_PNG_DIR=$i && break
-+ test -f $i/lib64/libpng.$SHLIB_SUFFIX_NAME -o -f $i/lib64/libpng.a && GD_PNG_DIR=$i && break
- done
-
- if test -z "$GD_PNG_DIR"; then
-@@ -94,12 +94,12 @@
- PHP_CHECK_LIBRARY(png,png_write_image,
- [
- PHP_ADD_INCLUDE($GD_PNG_DIR/include)
-- PHP_ADD_LIBRARY_WITH_PATH(z, $PHP_ZLIB_DIR/lib, GD_SHARED_LIBADD)
-- PHP_ADD_LIBRARY_WITH_PATH(png, $GD_PNG_DIR/lib, GD_SHARED_LIBADD)
-+ PHP_ADD_LIBRARY_WITH_PATH(z, $PHP_ZLIB_DIR/lib64, GD_SHARED_LIBADD)
-+ PHP_ADD_LIBRARY_WITH_PATH(png, $GD_PNG_DIR/lib64, GD_SHARED_LIBADD)
- ],[
- AC_MSG_ERROR([Problem with libpng.(a|so) or libz.(a|so). Please check config.log for more information.])
- ],[
-- -L$PHP_ZLIB_DIR/lib -lz -L$GD_PNG_DIR/lib
-+ -L$PHP_ZLIB_DIR/lib64 -lz -L$GD_PNG_DIR/lib64
- ])
-
- else
-@@ -111,7 +111,7 @@
- if test "$PHP_XPM_DIR" != "no"; then
-
- for i in $PHP_XPM_DIR /usr/local /usr/X11R6 /usr; do
-- test -f $i/lib/libXpm.$SHLIB_SUFFIX_NAME -o -f $i/lib/libXpm.a && GD_XPM_DIR=$i && break
-+ test -f $i/lib64/libXpm.$SHLIB_SUFFIX_NAME -o -f $i/lib64/libXpm.a && GD_XPM_DIR=$i && break
- done
-
- if test -z "$GD_XPM_DIR"; then
-@@ -129,12 +129,12 @@
- PHP_CHECK_LIBRARY(Xpm,XpmFreeXpmImage,
- [
- PHP_ADD_INCLUDE($GD_XPM_INC)
-- PHP_ADD_LIBRARY_WITH_PATH(Xpm, $GD_XPM_DIR/lib, GD_SHARED_LIBADD)
-- PHP_ADD_LIBRARY_WITH_PATH(X11, $GD_XPM_DIR/lib, GD_SHARED_LIBADD)
-+ PHP_ADD_LIBRARY_WITH_PATH(Xpm, $GD_XPM_DIR/lib64, GD_SHARED_LIBADD)
-+ PHP_ADD_LIBRARY_WITH_PATH(X11, $GD_XPM_DIR/lib64, GD_SHARED_LIBADD)
- ],[
- AC_MSG_ERROR([Problem with libXpm.(a|so) or libX11.(a|so). Please check config.log for more information.])
- ],[
-- -L$GD_XPM_DIR/lib -lX11
-+ -L$GD_XPM_DIR/lib64 -lX11
- ])
- else
- AC_MSG_RESULT(If configure fails try --with-xpm-dir=<DIR>)
-@@ -163,7 +163,7 @@
- fi
- if test -n "$TTF_DIR" ; then
- AC_DEFINE(HAVE_LIBTTF,1,[ ])
-- PHP_ADD_LIBRARY_WITH_PATH(ttf, $TTF_DIR/lib, GD_SHARED_LIBADD)
-+ PHP_ADD_LIBRARY_WITH_PATH(ttf, $TTF_DIR/lib64, GD_SHARED_LIBADD)
- fi
- if test -z "$TTF_INC_DIR"; then
- TTF_INC_DIR=$TTF_DIR/include
-@@ -187,7 +187,7 @@
- done
-
- if test -n "$FREETYPE2_DIR" ; then
-- PHP_ADD_LIBRARY_WITH_PATH(freetype, $FREETYPE2_DIR/lib, GD_SHARED_LIBADD)
-+ PHP_ADD_LIBRARY_WITH_PATH(freetype, $FREETYPE2_DIR/lib64, GD_SHARED_LIBADD)
- PHP_ADD_INCLUDE($FREETYPE2_DIR/include)
- PHP_ADD_INCLUDE($FREETYPE2_INC_DIR)
- AC_DEFINE(USE_GD_IMGSTRTTF, 1, [ ])
-@@ -215,11 +215,11 @@
- [
- AC_DEFINE(HAVE_LIBT1,1,[ ])
- PHP_ADD_INCLUDE($GD_T1_DIR/include)
-- PHP_ADD_LIBRARY_WITH_PATH(t1, $GD_T1_DIR/lib, GD_SHARED_LIBADD)
-+ PHP_ADD_LIBRARY_WITH_PATH(t1, $GD_T1_DIR/lib64, GD_SHARED_LIBADD)
- ],[
- AC_MSG_ERROR([Problem with libt1.(a|so). Please check config.log for more information.])
- ],[
-- -L$GD_T1_DIR/lib
-+ -L$GD_T1_DIR/lib64
- ])
- fi
- ])
-@@ -358,7 +358,7 @@
- done
-
- dnl Library path
-- for i in lib/gd1.3 lib/gd lib gd1.3 gd ""; do
-+ for i in lib64/gd1.3 lib64/gd lib64 gd1.3 gd ""; do
- test -f "$PHP_GD/$i/libgd.$SHLIB_SUFFIX_NAME" -o -f "$PHP_GD/$i/libgd.a" && GD_LIB="$PHP_GD/$i"
- done
-
-diff -durN -x '*~' -x '*.orig' php-4.3.4.orig/ext/imap/config.m4 php-4.3.4/ext/imap/config.m4
---- php-4.3.4.orig/ext/imap/config.m4 2003-10-03 07:25:35.000000000 +0200
-+++ php-4.3.4/ext/imap/config.m4 2004-12-31 14:16:24.085622632 +0100
-@@ -71,7 +71,7 @@
- fi
-
- for i in $SEARCH_PATHS; do
-- if test -f $i/lib/libkrb5.a || test -f $i/lib/libkrb5.$SHLIB_SUFFIX_NAME; then
-+ if test -f $i/lib64/libkrb5.a || test -f $i/lib64/libkrb5.$SHLIB_SUFFIX_NAME; then
- PHP_KERBEROS_DIR=$i
- break
- fi
-@@ -84,7 +84,7 @@
- ])
- fi
- AC_DEFINE(HAVE_IMAP_KRB,1,[ ])
-- PHP_ADD_LIBPATH($PHP_KERBEROS_DIR/lib, IMAP_SHARED_LIBADD)
-+ PHP_ADD_LIBPATH($PHP_KERBEROS_DIR/lib64, IMAP_SHARED_LIBADD)
- PHP_ADD_LIBRARY(gssapi_krb5, 1, IMAP_SHARED_LIBADD)
- PHP_ADD_LIBRARY(krb5, 1, IMAP_SHARED_LIBADD)
- PHP_ADD_LIBRARY(k5crypto, 1, IMAP_SHARED_LIBADD)
-@@ -116,11 +116,11 @@
- AC_MSG_CHECKING([whether SSL libraries are needed for c-client])
-
- if test "$PHP_IMAP_SSL" != "no"; then
-- AC_MSG_RESULT([$PHP_IMAP_SSL/lib])
-+ AC_MSG_RESULT([$PHP_IMAP_SSL/lib64])
- AC_DEFINE(HAVE_IMAP_SSL,1,[ ])
- PHP_ADD_LIBRARY_DEFER(ssl, 1, IMAP_SHARED_LIBADD)
- PHP_ADD_LIBRARY_DEFER(crypto, 1, IMAP_SHARED_LIBADD)
-- PHP_ADD_LIBPATH($PHP_IMAP_SSL/lib, IMAP_SHARED_LIBADD)
-+ PHP_ADD_LIBPATH($PHP_IMAP_SSL/lib64, IMAP_SHARED_LIBADD)
- else
- AC_MSG_RESULT(no)
- fi
-@@ -169,13 +169,13 @@
-
- if test -r "$IMAP_DIR/c-client/c-client.a"; then
- ln -s "$IMAP_DIR/c-client/c-client.a" "$IMAP_DIR/c-client/libc-client.a" >/dev/null 2>&1
-- elif test -r "$IMAP_DIR/lib/c-client.a"; then
-- ln -s "$IMAP_DIR/lib/c-client.a" "$IMAP_DIR/lib/libc-client.a" >/dev/null 2>&1
-+ elif test -r "$IMAP_DIR/lib64/c-client.a"; then
-+ ln -s "$IMAP_DIR/lib64/c-client.a" "$IMAP_DIR/lib64/libc-client.a" >/dev/null 2>&1
- fi
-
- for lib in c-client4 c-client imap; do
- IMAP_LIB=$lib
-- IMAP_LIB_CHK(lib)
-+ IMAP_LIB_CHK(lib64)
- IMAP_LIB_CHK(c-client)
- done
-
-diff -durN -x '*~' -x '*.orig' php-4.3.4.orig/ext/ldap/config.m4 php-4.3.4/ext/ldap/config.m4
---- php-4.3.4.orig/ext/ldap/config.m4 2003-07-01 02:02:29.000000000 +0200
-+++ php-4.3.4/ext/ldap/config.m4 2004-12-31 14:16:24.086622480 +0100
-@@ -6,15 +6,15 @@
- if test -f $1/include/ldap.h; then
- LDAP_DIR=$1
- LDAP_INCDIR=$1/include
-- LDAP_LIBDIR=$1/lib
-+ LDAP_LIBDIR=$1/lib64
- elif test -f $1/include/umich-ldap/ldap.h; then
- LDAP_DIR=$1
- LDAP_INCDIR=$1/include/umich-ldap
-- LDAP_LIBDIR=$1/lib
-+ LDAP_LIBDIR=$1/lib64
- elif test -f $1/ldap/public/ldap.h; then
- LDAP_DIR=$1
- LDAP_INCDIR=$1/ldap/public
-- LDAP_LIBDIR=$1/lib
-+ LDAP_LIBDIR=$1/lib64
- fi
- ])
-
-diff -durN -x '*~' -x '*.orig' php-4.3.4.orig/ext/mcal/config.m4 php-4.3.4/ext/mcal/config.m4
---- php-4.3.4.orig/ext/mcal/config.m4 2004-12-30 21:22:11.000000000 +0100
-+++ php-4.3.4/ext/mcal/config.m4 2004-12-31 14:16:24.086622480 +0100
-@@ -19,7 +19,7 @@
- fi
- done
-
-- for i in $MCAL_DIR $MCAL_DIR/mcal $MCAL_DIR/mcal/lib $MCAL_DIR/lib/mcal $MCAL_DIR/lib; do
-+ for i in $MCAL_DIR $MCAL_DIR/mcal $MCAL_DIR/mcal/lib64 $MCAL_DIR/lib64/mcal $MCAL_DIR/lib64; do
- if test -r "$i/libmcal.so" -o -r "$i/libmcal.a"; then
- MCAL_LIBRARY=$i
- fi
-diff -durN -x '*~' -x '*.orig' php-4.3.4.orig/ext/ming/config.m4 php-4.3.4/ext/ming/config.m4
---- php-4.3.4.orig/ext/ming/config.m4 2003-07-11 09:48:33.000000000 +0200
-+++ php-4.3.4/ext/ming/config.m4 2004-12-31 14:16:24.086622480 +0100
-@@ -9,7 +9,7 @@
- AC_CHECK_LIB(m, sin)
-
- for i in $PHP_MING /usr/local /usr; do
-- if test -f $i/lib/libming.$SHLIB_SUFFIX_NAME -o -f $i/lib/libming.a; then
-+ if test -f $i/lib64/libming.$SHLIB_SUFFIX_NAME -o -f $i/lib64/libming.a; then
- MING_DIR=$i
- fi
- done
-@@ -33,11 +33,11 @@
- ],[
- AC_MSG_ERROR([Ming library 0.2a or greater required.])
- ],[
-- -L$MING_DIR/lib
-+ -L$MING_DIR/lib64
- ])
-
- PHP_ADD_INCLUDE($MING_INC_DIR)
-- PHP_ADD_LIBRARY_WITH_PATH(ming, $MING_DIR/lib, MING_SHARED_LIBADD)
-+ PHP_ADD_LIBRARY_WITH_PATH(ming, $MING_DIR/lib64, MING_SHARED_LIBADD)
-
- AC_MSG_CHECKING([for destroySWFBlock])
- AC_TRY_RUN([
-diff -durN -x '*~' -x '*.orig' php-4.3.4.orig/ext/mssql/config.m4 php-4.3.4/ext/mssql/config.m4
---- php-4.3.4.orig/ext/mssql/config.m4 2004-12-30 21:22:12.000000000 +0100
-+++ php-4.3.4/ext/mssql/config.m4 2004-12-31 14:16:24.086622480 +0100
-@@ -32,12 +32,12 @@
- fi
- fi
-
-- if test ! -r "$FREETDS_INSTALLATION_DIR/lib/libtds.so"; then
-- AC_MSG_ERROR(Could not find $FREETDS_INSTALLATION_DIR/lib/libtds.so)
-+ if test ! -r "$FREETDS_INSTALLATION_DIR/lib64/libtds.so"; then
-+ AC_MSG_ERROR(Could not find $FREETDS_INSTALLATION_DIR/lib64/libtds.so)
- fi
-
- MSSQL_INCDIR=$FREETDS_INSTALLATION_DIR/include
-- MSSQL_LIBDIR=$FREETDS_INSTALLATION_DIR/lib
-+ MSSQL_LIBDIR=$FREETDS_INSTALLATION_DIR/lib64
-
- PHP_ADD_INCLUDE($MSSQL_INCDIR)
- PHP_ADD_LIBRARY_WITH_PATH(sybdb, $MSSQL_LIBDIR, MSSQL_SHARED_LIBADD)
-diff -durN -x '*~' -x '*.orig' php-4.3.4.orig/ext/mysql/config.m4 php-4.3.4/ext/mysql/config.m4
---- php-4.3.4.orig/ext/mysql/config.m4 2004-12-30 21:22:12.000000000 +0100
-+++ php-4.3.4/ext/mysql/config.m4 2004-12-31 14:16:24.087622328 +0100
-@@ -22,7 +22,7 @@
- /var/run/mysqld/mysqld.sock \
- /var/tmp/mysql.sock \
- /var/run/mysql/mysql.sock \
-- /var/lib/mysql/mysql.sock \
-+ /var/lib64/mysql/mysql.sock \
- /var/mysql/mysql.sock \
- /usr/local/mysql/var/mysql.sock \
- /Private/tmp/mysql.sock \
-@@ -114,7 +114,7 @@
-
- MYSQL_MODULE_TYPE=external
-
-- for i in lib lib/mysql; do
-+ for i in lib64 lib64/mysql; do
- MYSQL_LIB_CHK($i)
- done
-
-@@ -129,9 +129,9 @@
- PHP_CHECK_LIBRARY(mysqlclient, mysql_error, [], [
- AC_MSG_ERROR([mysql configure failed. Please check config.log for more information.])
- ], [
-- -L$PHP_ZLIB_DIR/lib -L$MYSQL_LIB_DIR
-+ -L$PHP_ZLIB_DIR/lib64 -L$MYSQL_LIB_DIR
- ])
-- MYSQL_LIBS="-L$PHP_ZLIB_DIR/lib -lz"
-+ MYSQL_LIBS="-L$PHP_ZLIB_DIR/lib64 -lz"
- else
- PHP_ADD_LIBRARY(z,, MYSQL_SHARED_LIBADD)
- PHP_CHECK_LIBRARY(mysqlclient, mysql_errno, [], [
-diff -durN -x '*~' -x '*.orig' php-4.3.4.orig/ext/pdf/config.m4 php-4.3.4/ext/pdf/config.m4
---- php-4.3.4.orig/ext/pdf/config.m4 2003-07-14 05:58:47.000000000 +0200
-+++ php-4.3.4/ext/pdf/config.m4 2004-12-31 14:16:24.087622328 +0100
-@@ -40,11 +40,11 @@
- if test "$PHP_JPEG_DIR" != "no"; then
- PHP_CHECK_LIBRARY(jpeg,jpeg_read_header,
- [
-- PHP_ADD_LIBRARY_WITH_PATH(jpeg, $PHP_JPEG_DIR/lib, PDF_SHARED_LIBADD)
-+ PHP_ADD_LIBRARY_WITH_PATH(jpeg, $PHP_JPEG_DIR/lib64, PDF_SHARED_LIBADD)
- ],[
- AC_MSG_ERROR([libjpeg not found!])
- ],[
-- -L$PHP_JPEG_DIR/lib
-+ -L$PHP_JPEG_DIR/lib64
- ])
- else
- AC_MSG_WARN([If configure fails, try --with-jpeg-dir=<DIR>])
-@@ -54,11 +54,11 @@
- if test "$PHP_PNG_DIR" != "no"; then
- PHP_CHECK_LIBRARY(png,png_create_info_struct,
- [
-- PHP_ADD_LIBRARY_WITH_PATH(png, $PHP_PNG_DIR/lib, PDF_SHARED_LIBADD)
-+ PHP_ADD_LIBRARY_WITH_PATH(png, $PHP_PNG_DIR/lib64, PDF_SHARED_LIBADD)
- ],[
- AC_MSG_ERROR([libpng not found!])
- ],[
-- -L$PHP_PNG_DIR/lib
-+ -L$PHP_PNG_DIR/lib64
- ])
- else
- AC_MSG_WARN([If configure fails, try --with-png-dir=<DIR>])
-@@ -68,11 +68,11 @@
- if test "$PHP_TIFF_DIR" != "no"; then
- PHP_CHECK_LIBRARY(tiff,TIFFOpen,
- [
-- PHP_ADD_LIBRARY_WITH_PATH(tiff, $PHP_TIFF_DIR/lib, PDF_SHARED_LIBADD)
-+ PHP_ADD_LIBRARY_WITH_PATH(tiff, $PHP_TIFF_DIR/lib64, PDF_SHARED_LIBADD)
- ],[
- AC_MSG_ERROR([libtiff not found!])
- ],[
-- -L$PHP_TIFF_DIR/lib
-+ -L$PHP_TIFF_DIR/lib64
- ])
- else
- AC_MSG_WARN([If configure fails, try --with-tiff-dir=<DIR>])
-@@ -84,7 +84,7 @@
- AC_MSG_RESULT([no. If configure fails, try --with-zlib-dir=<DIR>])
- else
- AC_MSG_RESULT([$PHP_ZLIB_DIR])
-- PHP_ADD_LIBRARY_WITH_PATH(z, $PHP_ZLIB_DIR/lib, PDF_SHARED_LIBADD)
-+ PHP_ADD_LIBRARY_WITH_PATH(z, $PHP_ZLIB_DIR/lib64, PDF_SHARED_LIBADD)
- fi
-
- dnl #
-@@ -118,7 +118,7 @@
- PHP_CHECK_LIBRARY(pdf, PDF_show_boxed,
- [
- AC_DEFINE(HAVE_PDFLIB,1,[ ])
-- PHP_ADD_LIBRARY_WITH_PATH(pdf, $PHP_PDFLIB/lib, PDF_SHARED_LIBADD)
-+ PHP_ADD_LIBRARY_WITH_PATH(pdf, $PHP_PDFLIB/lib64, PDF_SHARED_LIBADD)
- PHP_ADD_INCLUDE($PHP_PDFLIB/include)
- ],[
- AC_MSG_ERROR([
-@@ -127,7 +127,7 @@
- See config.log for more information.
- ])
- ],[
-- -L$PHP_PDFLIB/lib $PDF_SHARED_LIBADD
-+ -L$PHP_PDFLIB/lib64 $PDF_SHARED_LIBADD
- ])
- else
- AC_MSG_ERROR([pdflib.h not found! Check the path passed to --with-pdflib=<PATH>. PATH should be the install prefix directory.])
-diff -durN -x '*~' -x '*.orig' php-4.3.4.orig/ext/pgsql/config.m4 php-4.3.4/ext/pgsql/config.m4
---- php-4.3.4.orig/ext/pgsql/config.m4 2002-06-26 15:07:40.000000000 +0200
-+++ php-4.3.4/ext/pgsql/config.m4 2004-12-31 14:16:24.087622328 +0100
-@@ -29,7 +29,7 @@
- fi
- done
-
-- for j in lib lib/pgsql lib/postgres lib/postgresql ""; do
-+ for j in lib64 lib64/pgsql lib64/postgres lib64/postgresql ""; do
- if test -f "$i/$j/libpq.so" || test -f "$i/$j/libpq.a"; then
- PGSQL_LIBDIR=$i/$j
- fi
-diff -durN -x '*~' -x '*.orig' php-4.3.4.orig/ext/xml/config.m4 php-4.3.4/ext/xml/config.m4
---- php-4.3.4.orig/ext/xml/config.m4 2004-12-30 21:22:11.000000000 +0100
-+++ php-4.3.4/ext/xml/config.m4 2004-12-31 14:17:25.224328136 +0100
-@@ -31,7 +31,7 @@
- PHP_NEW_EXTENSION(xml, xml.c, $ext_shared)
-
- for i in /usr /usr/local $PHP_XML `echo $PHP_EXPAT_DIR | sed -e s/shared,//` ; do
-- if test -f $i/lib/libexpat.a -o -f $i/lib/libexpat.$SHLIB_SUFFIX_NAME ; then
-+ if test -f $i/lib64/libexpat.a -o -f $i/lib64/libexpat.$SHLIB_SUFFIX_NAME ; then
- EXPAT_DIR=$i
- fi
- done
-@@ -41,7 +41,7 @@
- fi
-
- PHP_ADD_INCLUDE($EXPAT_DIR/include)
-- PHP_ADD_LIBRARY_WITH_PATH(expat, $EXPAT_DIR/lib, XML_SHARED_LIBADD)
-+ PHP_ADD_LIBRARY_WITH_PATH(expat, $EXPAT_DIR/lib64, XML_SHARED_LIBADD)
- PHP_SUBST(XML_SHARED_LIBADD)
- fi
- fi
-diff -durN -x '*~' -x '*.orig' php-4.3.4.orig/ext/xmlrpc/config.m4 php-4.3.4/ext/xmlrpc/config.m4
---- php-4.3.4.orig/ext/xmlrpc/config.m4 2004-12-30 21:22:12.000000000 +0100
-+++ php-4.3.4/ext/xmlrpc/config.m4 2004-12-31 14:17:55.650702624 +0100
-@@ -23,9 +23,9 @@
-
- testval=no
- for i in $PHP_EXPAT_DIR $XMLRPC_DIR /usr/local /usr; do
-- if test -f $i/lib/libexpat.a -o -f $i/lib/libexpat.$SHLIB_SUFFIX_NAME; then
-+ if test -f $i/lib64/libexpat.a -o -f $i/lib64/libexpat.$SHLIB_SUFFIX_NAME; then
- AC_DEFINE(HAVE_LIBEXPAT2,1,[ ])
-- PHP_ADD_LIBRARY_WITH_PATH(expat, $i/lib, XMLRPC_SHARED_LIBADD)
-+ PHP_ADD_LIBRARY_WITH_PATH(expat, $i/lib64, XMLRPC_SHARED_LIBADD)
- PHP_ADD_INCLUDE($i/include)
- testval=yes
- break
-@@ -90,5 +90,5 @@
- PHP_NEW_EXTENSION(xmlrpc,xmlrpc-epi-php.c,$ext_shared)
- XMLRPC_MODULE_TYPE=external
- PHP_ADD_INCLUDE($XMLRPC_DIR)
-- PHP_ADD_LIBRARY_WITH_PATH(xmlrpc, $XMLRPC_DIR/lib, XMLRPC_SHARED_LIBADD)
-+ PHP_ADD_LIBRARY_WITH_PATH(xmlrpc, $XMLRPC_DIR/lib64, XMLRPC_SHARED_LIBADD)
- fi
-diff -durN -x '*~' -x '*.orig' php-4.3.4.orig/ext/xslt/config.m4 php-4.3.4/ext/xslt/config.m4
---- php-4.3.4.orig/ext/xslt/config.m4 2004-12-30 21:22:11.000000000 +0100
-+++ php-4.3.4/ext/xslt/config.m4 2004-12-31 14:18:15.714652440 +0100
-@@ -98,10 +98,10 @@
-
- found_expat=no
- for i in $PHP_EXPAT_DIR $XSLT_DIR /usr/local /usr; do
-- if test -f $i/lib/libexpat.a -o -f $i/lib/libexpat.$SHLIB_SUFFIX_NAME; then
-+ if test -f $i/lib64/libexpat.a -o -f $i/lib64/libexpat.$SHLIB_SUFFIX_NAME; then
- AC_DEFINE(HAVE_LIBEXPAT2, 1, [ ])
- PHP_ADD_INCLUDE($i/include)
-- PHP_ADD_LIBRARY_WITH_PATH(expat, $i/lib, XSLT_SHARED_LIBADD)
-+ PHP_ADD_LIBRARY_WITH_PATH(expat, $i/lib64, XSLT_SHARED_LIBADD)
- found_expat=yes
- break
- fi
-@@ -125,7 +125,7 @@
-
- if test "$PHP_SABLOT_JS" != "no"; then
- for i in $PHP_SABLOT_JS /usr/local /usr; do
-- if test -f $i/lib/libjs.a -o -f $i/lib/libjs.$SHLIB_SUFFIX_NAME; then
-+ if test -f $i/lib64/libjs.a -o -f $i/lib64/libjs.$SHLIB_SUFFIX_NAME; then
- PHP_SABLOT_JS_DIR=$i
- break
- fi
-@@ -133,12 +133,12 @@
-
- PHP_CHECK_LIBRARY(js, JS_GetRuntime,
- [
-- PHP_ADD_LIBRARY_WITH_PATH(js, $PHP_SABLOT_JS_DIR/lib, XSLT_SHARED_LIBADD)
-- PHP_SABLOT_JS_LIBS=-L$PHP_SABLOT_JS_DIR/lib -ljs
-+ PHP_ADD_LIBRARY_WITH_PATH(js, $PHP_SABLOT_JS_DIR/lib64, XSLT_SHARED_LIBADD)
-+ PHP_SABLOT_JS_LIBS=-L$PHP_SABLOT_JS_DIR/lib64 -ljs
- ], [
- AC_MSG_ERROR([libjs not found. Please check config.log for more information.])
- ], [
-- -L$PHP_SABLOT_JS_DIR/lib
-+ -L$PHP_SABLOT_JS_DIR/lib64
- ])
- fi
-
-@@ -146,7 +146,7 @@
- [
- AC_DEFINE(HAVE_SABLOT_SET_ENCODING, 1, [ ])
- ], [], [
-- -L$XSLT_DIR/lib $PHP_SABLOT_JS_LIBS
-+ -L$XSLT_DIR/lib64 $PHP_SABLOT_JS_LIBS
- ])
-
- dnl SablotSetOptions implemented in Sablotron CVS > 2002/10/31
-@@ -154,14 +154,14 @@
- [
- AC_DEFINE(HAVE_SABLOT_GET_OPTIONS, 1, [Whether Sablotron supports SablotGetOptions])
- ], [], [
-- -L$XSLT_DIR/lib $PHP_SABLOT_JS_LIBS
-+ -L$XSLT_DIR/lib64 $PHP_SABLOT_JS_LIBS
- ])
-
- AC_DEFINE(HAVE_SABLOT_BACKEND, 1, [ ])
- fi
-
- PHP_ADD_INCLUDE($XSLT_DIR/include)
-- PHP_ADD_LIBRARY_WITH_PATH($XSLT_LIBNAME, $XSLT_DIR/lib, XSLT_SHARED_LIBADD)
-+ PHP_ADD_LIBRARY_WITH_PATH($XSLT_LIBNAME, $XSLT_DIR/lib64, XSLT_SHARED_LIBADD)
-
- AC_DEFINE(HAVE_XSLT, 1, [ ])
- fi
+++ /dev/null
---- php-4.3.0/ext/pgsql/php_pgsql.h~ Mon Feb 25 15:16:28 2002
-+++ php-4.3.0/ext/pgsql/php_pgsql.h Mon Feb 25 15:16:28 2002
-@@ -43,7 +43,7 @@
- #define PHPAPI __declspec(dllimport)
- #endif
- #else
--#include <libpq/libpq-fs.h>
-+#include <postgresql/server/libpq/libpq-fs.h>
- #endif
-
- #ifdef HAVE_PG_CONFIG_H
+++ /dev/null
---- php-4.3.0/acinclude.m4.orig Sun Nov 17 20:28:57 2002
-+++ php-4.3.0/acinclude.m4 Fri Jan 3 09:59:15 2003
-@@ -838,13 +838,13 @@
- dnl
- AC_DEFUN([PHP_BUILD_PROGRAM],[
- OVERALL_TARGET=[]ifelse($1,,php,$1)
-- php_c_pre='$(CC)'
-+ php_c_pre='$(LIBTOOL) --mode=compile $(CC)'
- php_c_meta='$(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS)'
-- php_c_post=' && echo > $[@]'
-- php_cxx_pre='$(CXX)'
-+ php_c_post=
-+ php_cxx_pre='$(LIBTOOL) --mode=compile $(CXX)'
- php_cxx_meta='$(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS)'
-- php_cxx_post=' && echo > $[@]'
-- php_lo=o
-+ php_cxx_post=
-+ php_lo=lo
-
- shared_c_pre='$(LIBTOOL) --mode=compile $(CC)'
- shared_c_meta='$(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) -prefer-pic'
+++ /dev/null
---- php-4.0.6/ext/domxml/config.m4~ Thu Nov 15 00:32:45 2001
-+++ php-4.0.6/ext/domxml/config.m4 Thu Nov 15 00:32:45 2001
-@@ -3,7 +3,7 @@
-
- AC_DEFUN(PHP_DOM_CHECK_VERSION,[
- old_CPPFLAGS=$CPPFLAGS
-- CPPFLAGS=-I$DOMXML_DIR/include
-+ CPPFLAGS=-I$DOMXML_DIR/include/libxml2
- AC_MSG_CHECKING(for libxml version)
- AC_EGREP_CPP(yes,[
- #include <libxml/xmlversion.h>
-@@ -25,12 +25,12 @@
-
- if test "$PHP_DOM" != "no"; then
-
-- if test -r $PHP_DOM/include/libxml/tree.h; then
-+ if test -r $PHP_DOM/include/libxml2/libxml/tree.h; then
- DOMXML_DIR=$PHP_DOM
- else
- AC_MSG_CHECKING(for DOM in default path)
- for i in /usr/local /usr; do
-- if test -r $i/include/libxml/tree.h; then
-+ if test -r $i/include/libxml2/libxml/tree.h; then
- DOMXML_DIR=$i
- AC_MSG_RESULT(found in $i)
- fi
---- php-4.0.6/ext/domxml/Makefile.in~ Thu Nov 15 01:20:18 2001
-+++ php-4.0.6/ext/domxml/Makefile.in Thu Nov 15 01:20:18 2001
-@@ -5,4 +5,6 @@
- LTLIBRARY_SHARED_NAME = domxml.la
- LTLIBRARY_SHARED_LIBADD = $(DOMXML_SHARED_LIBADD)
-
-+EXTRA_CFLAGS = `pkg-config libxml-2.0 --cflags`
-+
- include $(top_srcdir)/build/dynlib.mk
+++ /dev/null
---- php-4.3.0/configure.in.orig Fri Dec 27 05:07:18 2002
-+++ php-4.3.0/configure.in Thu Jan 2 20:34:43 2003
-@@ -288,7 +288,6 @@
- PHP_CHECK_FUNC(htonl, socket)
- PHP_CHECK_FUNC(gethostname, nsl)
- PHP_CHECK_FUNC(gethostbyaddr, nsl)
--PHP_CHECK_FUNC(yp_get_default_domain, nsl)
-
- PHP_CHECK_FUNC(dlopen, dl)
- if test "$ac_cv_func_dlopen" = "yes"; then
+++ /dev/null
---- php-4.3.0/ext/standard/mail.c.orig Fri Nov 29 12:15:43 2002
-+++ php-4.3.0/ext/standard/mail.c Thu Jan 2 12:37:54 2003
-@@ -21,6 +21,8 @@
- #include <stdlib.h>
- #include <ctype.h>
- #include <stdio.h>
-+#include <syslog.h>
-+#include <string.h>
- #include "php.h"
- #include "ext/standard/info.h"
-
-@@ -36,6 +38,9 @@
- #include "safe_mode.h"
- #include "exec.h"
-
-+#include "zend_operators.h"
-+#include "zend_globals.h"
-+
- #if HAVE_SENDMAIL
- #ifdef PHP_WIN32
- #include "win32/sendmail.h"
-@@ -196,8 +201,42 @@
- return 0;
- }
- #endif
-- fprintf(sendmail, "To: %s\n", to);
-- fprintf(sendmail, "Subject: %s\n", subject);
-+ TSRMLS_FETCH();
-+
-+ if ((to != NULL) && (strlen(to)!=0)) {
-+ fprintf(sendmail, "To: %s\n", to);
-+ }
-+ if ((subject != NULL) && (strlen(subject)!=0)) {
-+ fprintf(sendmail, "Subject: %s\n", subject);
-+ }
-+
-+ if (PG(http_globals)[TRACK_VARS_SERVER]) {
-+ zval **remote_addr, **server_name, **server_port,
-+ **script_name, **http_user_agent;
-+
-+ if (zend_hash_find(PG(http_globals)[TRACK_VARS_SERVER]->value.ht, "REMOTE_ADDR", sizeof("REMOTE_ADDR"), (void **) &remote_addr)==SUCCESS) {
-+ convert_to_string_ex(remote_addr);
-+ fprintf(sendmail, "HTTP-Posting-Client: %s\n", Z_STRVAL_PP(remote_addr));
-+ }
-+ if (zend_hash_find(PG(http_globals)[TRACK_VARS_SERVER]->value.ht, "SERVER_NAME", sizeof("SERVER_NAME"), (void **) &server_name)==SUCCESS) {
-+ convert_to_string_ex(server_name);
-+ fprintf(sendmail, "HTTP-Posting-URI: %s", Z_STRVAL_PP(server_name));
-+ if (zend_hash_find(PG(http_globals)[TRACK_VARS_SERVER]->value.ht, "SERVER_PORT", sizeof("SERVER_PORT"), (void **) &server_port)==SUCCESS) {
-+ convert_to_string_ex(server_port);
-+ fprintf(sendmail, ":%s", Z_STRVAL_PP(server_port));
-+ }
-+ if (zend_hash_find(PG(http_globals)[TRACK_VARS_SERVER]->value.ht, "SCRIPT_NAME", sizeof("SCRIPT_NAME"), (void **) &script_name)==SUCCESS) {
-+ convert_to_string_ex(script_name);
-+ fprintf(sendmail, "%s", Z_STRVAL_PP(script_name));
-+ }
-+ fprintf(sendmail, "\n");
-+ }
-+ if (zend_hash_find(PG(http_globals)[TRACK_VARS_SERVER]->value.ht, "HTTP_USER_AGENT", sizeof("HTTP_USER_AGENT"), (void **) &http_user_agent)==SUCCESS) {
-+ convert_to_string_ex(http_user_agent);
-+ fprintf(sendmail, "HTTP-Posting-User-Agent: %s\n", Z_STRVAL_PP(http_user_agent));
-+ }
-+ }
-+
- if (headers != NULL) {
- fprintf(sendmail, "%s\n", headers);
- }
+++ /dev/null
---- php4/ext/standard/mail.c 2 Apr 2001 16:37:50 -0000 1.41
-+++ php4/ext/standard/mail.c 25 Sep 2001 22:48:43 -0000 1.44
-@@ -12,7 +12,7 @@
- +----------------------------------------------------------------------+
- */
-
--/* $Id$ */
-+/* $Id$ */
-
- #include <stdlib.h>
- #include <ctype.h>
-@@ -54,8 +56,8 @@
- }
-
- convert_to_string_ex(pstr);
-- if ((*pstr)->value.str.val) {
-- str = (*pstr)->value.str.val;
-+ if (Z_STRVAL_PP(pstr)) {
-+ str = Z_STRVAL_PP(pstr);
- } else {
- php_error(E_WARNING, "Must give string parameter to ezmlm_hash()");
- RETURN_FALSE;
-@@ -85,8 +88,8 @@
- }
- /* To: */
- convert_to_string_ex(argv[0]);
-- if ((*argv[0])->value.str.val) {
-- to = (*argv[0])->value.str.val;
-+ if (Z_STRVAL_PP(argv[0])) {
-+ to = Z_STRVAL_PP(argv[0]);
- } else {
- php_error(E_WARNING, "No to field in mail command");
- RETURN_FALSE;
-@@ -94,8 +97,8 @@
-
- /* Subject: */
- convert_to_string_ex(argv[1]);
-- if ((*argv[1])->value.str.val) {
-+ if (Z_STRVAL_PP(argv[1])) {
- subject = Z_STRVAL_PP(argv[1]);
- } else {
- php_error(E_WARNING, "No subject field in mail command");
- RETURN_FALSE;
-@@ -103,8 +106,8 @@
-
- /* message body */
- convert_to_string_ex(argv[2]);
-- if ((*argv[2])->value.str.val) {
-+ if (Z_STRVAL_PP(argv[2])) {
- message = Z_STRVAL_PP(argv[2]);
- } else {
- /* this is not really an error, so it is allowed. */
- php_error(E_WARNING, "No message string in mail command");
+++ /dev/null
---- ./ext/mcal/config.m4.org Mon Jun 24 13:37:15 2002
-+++ ./ext/mcal/config.m4 Sat Sep 7 11:19:45 2002
-@@ -20,7 +20,7 @@
- done
-
- for i in $MCAL_DIR $MCAL_DIR/mcal $MCAL_DIR/mcal/lib $MCAL_DIR/lib/mcal $MCAL_DIR/lib; do
-- if test -r "$i/libmcal.a"; then
-+ if test -r "$i/libmcal.so" -o -r "$i/libmcal.a"; then
- MCAL_LIBRARY=$i
- fi
- done
-@@ -37,8 +37,8 @@
- AC_MSG_ERROR(Unable to locate your libmcal header files - icalroutines.h should be in the directory you specify or in the include/ subdirectory below it - default search location is $MCAL_DEFAULT_SEARCH)
- fi
-
-- if test ! -f "$MCAL_LIBRARY/libmcal.a"; then
-- AC_MSG_ERROR(Unable to locate your libmcal library files - libmcal.a should be in the directory you specify or in the lib/ subdirectory below it - default search location is $MCAL_DEFAULT_SEARCH)
-+ if test ! -f "$MCAL_LIBRARY/libmcal.a" -a ! -f "$MCAL_LIBRARY/libmcal.so"; then
-+ AC_MSG_ERROR(Unable to locate your libmcal library files - libmcal.* should be in the directory you specify or in the lib/ subdirectory below it - default search location is $MCAL_DEFAULT_SEARCH)
- fi
-
- PHP_ADD_INCLUDE($MCAL_INCLUDE)
+++ /dev/null
-LoadModule php4_module modules/libphp4.so
-
-<IfModule sapi_apache2.c>
-
-AddType application/x-httpd-php .php
-AddType application/x-httpd-php .php3
-AddType application/x-httpd-php .php4
-
-</IfModule>
+++ /dev/null
-#!/bin/sh
-
-VERSION="$0 V 0.1 (C) 2001 Artur Frysiak"
-COMMAND=usage
-VERBOSE=""
-MODNAME=""
-INIFILE=""
-
-install ()
-{
-if [ -f ${INIFILE} ] && ! grep -q "^extension[[:space:]]*=[[:space:]]*${MODNAME}.so" ${INIFILE} ; then
- echo "activating module '${MODNAME}.so' in ${INIFILE}" 1>&2
- echo "extension=${MODNAME}.so" >> ${INIFILE}
-fi
-if [ -f /var/lock/subsys/httpd ]; then
- /etc/rc.d/init.d/httpd restart 1>&2
-fi
-}
-
-deinstall()
-{
-if [ -f ${INIFILE} ] && grep -q "^extension[[:space:]]*=[[:space:]]*${MODNAME}.so" ${INIFILE} ; then
- TMPFILE=`mktemp -q /tmp/php-module-install.XXXXXX`
- if [ $? -ne 0 ]; then
- echo "$0: Can't create temp file, exiting..."
- exit 1
- fi
- echo "deactivating module '${MODNAME}.so' in ${INIFILE}" 1>&2
- grep -v "^extension[[:space:]]*=[[:space:]]*${MODNAME}.so" > ${TMPFILE} < ${INIFILE}
- mv ${TMPFILE} ${INIFILE}
- chmod 644 ${INIFILE}
-fi
-if [ -f /var/lock/subsys/httpd ]; then
- /etc/rc.d/init.d/httpd restart 1>&2
-fi
-}
-
-usage()
-{
- echo $VERSION
- echo "Usage:"
- echo " $0 install MODNAME INIFILE"
- echo " $0 remove MODNAME INIFILE"
-}
-
-if [ "$#" = 3 ]; then
- MODNAME="$2"
- INIFILE="$3"
-
- if [ "$1" = "install" ]; then
- install
- else
- if [ "$1" = "remove" ]; then
- deinstall
- else
- usage
- fi
- fi
-else
- usage
- exit 1
-fi
-
-exit 0
+++ /dev/null
---- php-4.3.0/ext/msession/config.m4.orig Thu Jan 2 20:40:11 2003
-+++ php-4.3.0/ext/msession/config.m4 Thu Jan 2 20:42:17 2003
-@@ -6,12 +6,12 @@
- [ --with-msession[=DIR] Include msession support])
-
- if test "$PHP_MSESSION" != "no"; then
-- if test -r $PHP_MSESSION/lib/libphoenix.a; then
-+ if test -r $PHP_MSESSION/lib/libphoenix.so -o -r $PHP_MSESSION/lib/libphoenix.a; then
- PHOENIX_DIR=$PHP_MSESSION
- else
- AC_MSG_CHECKING(for msession in default path)
- for i in /usr/local/phoenix /usr/local /usr; do
-- if test -r $i/lib/libphoenix.a; then
-+ if test -r $i/lib/libphoenix.so -o -r $i/lib/libphoenix.a; then
- PHOENIX_DIR=$i
- AC_MSG_RESULT(found in $i)
- fi
-@@ -25,9 +25,9 @@
-
-
- AC_DEFINE(HAVE_MSESSION, 1, [ ])
-- PHP_ADD_LIBRARY_WITH_PATH(phoenix, "$PHOENIX_DIR/lib", PHOENIX_LIB)
-+ PHP_ADD_LIBRARY_WITH_PATH(phoenix, "$PHOENIX_DIR/lib", MSESSION_SHARED_LIBADD)
- PHOENIX_INCLUDE="-I$PHOENIX_DIR"
-- PHP_SUBST(PHOENIX_LIB)
-+ PHP_SUBST(MSESSION_SHARED_LIBADD)
-
- PHP_NEW_EXTENSION(msession, msession.c, $ext_shared)
- fi
+++ /dev/null
---- php-4.3.4RC2/ext/mssql/config.m4.old 2003-10-29 02:26:59.000000000 +0100
-+++ php-4.3.4RC2/ext/mssql/config.m4 2003-10-29 02:26:36.000000000 +0100
-@@ -32,8 +32,8 @@
- fi
- fi
-
-- if test ! -r "$FREETDS_INSTALLATION_DIR/lib/libtds.a"; then
-- AC_MSG_ERROR(Could not find $FREETDS_INSTALLATION_DIR/lib/libtds.a)
-+ if test ! -r "$FREETDS_INSTALLATION_DIR/lib/libtds.so"; then
-+ AC_MSG_ERROR(Could not find $FREETDS_INSTALLATION_DIR/lib/libtds.so)
- fi
-
- MSSQL_INCDIR=$FREETDS_INSTALLATION_DIR/include
+++ /dev/null
---- php-4.3.2/configure.in.orig Fri Jun 13 16:12:24 2003
-+++ php-4.3.2/configure.in Tue Jun 17 17:05:41 2003
-@@ -1053,19 +1053,6 @@
- PHP_SUBST_OLD(YACC)
- PHP_SUBST_OLD(SHLIB_SUFFIX_NAME)
-
--old_CC=$CC
--
--if test "$PHP_THREAD_SAFETY" = "yes" && test -n "$ac_cv_pthreads_cflags"; then
-- CXXFLAGS="$CXXFLAGS $ac_cv_pthreads_cflags"
-- INLINE_CFLAGS="$INLINE_CFLAGS $ac_cv_pthreads_cflags"
-- cat >meta_ccld<<EOF
--#! /bin/sh
--exec $CC $ac_cv_pthreads_cflags \$@
--EOF
-- CC="$abs_builddir/meta_ccld"
-- chmod +x meta_ccld
--fi
--
- dnl This will go away, if we have a facility to run per-extension code
- dnl after the thread_safety decision was done
- if test "$PHP_THREAD_SAFETY" = "yes" && test "$PHP_MYSQL" = "yes"; then
-@@ -1091,8 +1078,6 @@
- test -z "$CXX_PHP_COMPILE" && CXX_PHP_COMPILE='$(LIBTOOL) --mode=compile $(CXX_COMPILE) -c $<'
- SHARED_LIBTOOL='$(LIBTOOL)'
-
--CC=$old_CC
--
- PHP_CONFIGURE_PART(Generating files)
-
- CXXFLAGS_CLEAN=$CXXFLAGS
+++ /dev/null
-diff -burN php-4.3.5RC1.orig/configure.in php-4.3.5RC1/configure.in
---- php-4.3.5RC1.orig/configure.in 2004-02-05 10:28:06.283736312 +0100
-+++ php-4.3.5RC1/configure.in 2004-02-05 10:31:29.388859640 +0100
-@@ -1138,7 +1138,7 @@
- CXXFLAGS="$CXXFLAGS $standard_libtool_flag"
-
- all_targets='$(OVERALL_TARGET) $(PHP_MODULES) $(PHP_CLI_TARGET)'
--install_targets="$install_modules $install_pear install-build install-headers install-programs"
-+install_targets="$install_modules install-build install-headers install-programs"
-
- case $PHP_SAPI in
- cgi)
+++ /dev/null
-diff -ur php-4.0.6/ext/oracle/config.m4 php-4.0.6.ora/ext/oracle/config.m4
---- php-4.0.6/ext/oracle/config.m4 Sat May 12 11:29:07 2001
-+++ php-4.0.6.ora/ext/oracle/config.m4 Mon Sep 17 16:16:43 2001
-@@ -5,6 +5,8 @@
- if test -s "$ORACLE_DIR/orainst/unix.rgs"; then
- ORACLE_VERSION=`grep '"ocommon"' $ORACLE_DIR/orainst/unix.rgs | sed 's/[ ][ ]*/:/g' | cut -d: -f 6 | cut -c 2-4`
- test -z "$ORACLE_VERSION" && ORACLE_VERSION=7.3
-+ elif test -f $ORACLE_DIR/lib/libclntsh.$SHLIB_SUFFIX_NAME.9.0; then
-+ ORACLE_VERSION=9.0
- elif test -f $ORACLE_DIR/lib/libclntsh.$SHLIB_SUFFIX_NAME.8.0; then
- ORACLE_VERSION=8.1
- elif test -f $ORACLE_DIR/lib/libclntsh.$SHLIB_SUFFIX_NAME.1.0; then
-@@ -148,6 +150,10 @@
- ;;
-
- 8.1)
-+ PHP_ADD_LIBRARY(clntsh, 1, ORACLE_SHARED_LIBADD)
-+ PHP_ADD_LIBPATH($ORACLE_DIR/lib, ORACLE_SHARED_LIBADD)
-+ ;;
-+ 9.0)
- PHP_ADD_LIBRARY(clntsh, 1, ORACLE_SHARED_LIBADD)
- PHP_ADD_LIBPATH($ORACLE_DIR/lib, ORACLE_SHARED_LIBADD)
- ;;
+++ /dev/null
---- php-4.1.2/ext/pdf/pdf.c.wiget Fri Oct 12 01:51:53 2001
-+++ php-4.1.2/ext/pdf/pdf.c Tue Jan 29 15:12:31 2002
-@@ -17,7 +17,18 @@
- +----------------------------------------------------------------------+
- */
-
--/* $Id$ */
-+/* $Id$ */
-+/* derived from:
-+ Id: pdf.c,v 1.105 2001/11/30 04:46:35 sniper Exp
-+
-+ with some exeptions:
-+ - pdf_get_major/minorversion not included, as pdf_get_value supports this
-+ now without a PDF-object
-+ - #if ZEND_MODULE_API_NO >= 20010901 for new ZEND_MODULE support,
-+ so that it compiles with older PHP Versions too
-+ - TSRMLS fixes included only with ZEND_MODULE_API_NO >= 20010901
-+ would break older builds otherwise
-+ */
-
- /* pdflib 2.02 ... 3.0x is subject to the ALADDIN FREE PUBLIC LICENSE.
- Copyright (C) 1997-1999 Thomas Merz. 2000-2001 PDFlib GmbH */
-@@ -236,7 +247,9 @@
- /* {{{ pdf_module_entry
- */
- zend_module_entry pdf_module_entry = {
-+#if ZEND_MODULE_API_NO >= 20010901
- STANDARD_MODULE_HEADER,
-+#endif
- "pdf",
- pdf_functions,
- PHP_MINIT(pdf),
-@@ -244,7 +257,9 @@
- NULL,
- NULL,
- PHP_MINFO(pdf),
-+#if ZEND_MODULE_API_NO >= 20010901
- NO_VERSION_YET,
-+#endif
- STANDARD_MODULE_PROPERTIES
- };
- /* }}} */
-@@ -255,14 +270,10 @@
-
- /* {{{ _free_pdf_doc
- */
--static void _free_pdf_doc(zend_rsrc_list_entry *rsrc TSRMLS_DC)
-+static void _free_pdf_doc(zend_rsrc_list_entry *rsrc)
- {
-- /* RJS: TODO:
- PDF *pdf = (PDF *)rsrc->ptr;
-- check whether pdf-Pointer is still valid, before pdf_delete()
-- + remove php-resource */
-- /* PDF_delete(pdf);
--*/
-+ PDF_delete(pdf);
- }
- /* }}} */
-
-@@ -327,9 +338,14 @@
- */
- static size_t pdf_flushwrite(PDF *p, void *data, size_t size)
- {
-+#if ZEND_MODULE_API_NO >= 20010901
- TSRMLS_FETCH();
-
- return(php_write(data, size TSRMLS_CC));
-+#else
-+ return(php_write(data, size));
-+#endif
-+ return 0;
- }
- /* }}} */
-
-@@ -349,7 +365,7 @@
- #else
- php_info_print_table_row(2, "PDFlib GmbH Version", tmp );
- #endif
-- php_info_print_table_row(2, "Revision", "$Revision$" );
-+ php_info_print_table_row(2, "Revision", "$Revision$" );
- php_info_print_table_end();
-
- }
-@@ -402,7 +418,7 @@
-
- /* {{{ proto bool pdf_set_info(int pdfdoc, string fieldname, string value)
- Fills an info field of the document */
--PHP_FUNCTION(pdf_set_info)
-+PHP_FUNCTION(pdf_set_info)
- {
- zval **arg1, **arg2, **arg3;
- PDF *pdf;
-@@ -447,7 +463,7 @@
-
- /* {{{ proto bool pdf_set_info_author(int pdfdoc, string author)
- Fills the author field of the document */
--PHP_FUNCTION(pdf_set_info_author)
-+PHP_FUNCTION(pdf_set_info_author)
- {
- _php_pdf_set_info(INTERNAL_FUNCTION_PARAM_PASSTHRU, "Author");
- }
-@@ -463,7 +479,7 @@
-
- /* {{{ proto int pdf_open([int filedesc])
- Opens a new pdf document. If filedesc is NULL, document is created in memory. This is the old interface, only for compatibility use pdf_new + pdf_open_file instead */
--PHP_FUNCTION(pdf_open)
-+PHP_FUNCTION(pdf_open)
- {
- zval **file;
- FILE *fp;
-@@ -498,7 +514,7 @@
-
- /* {{{ proto void pdf_close(int pdfdoc)
- Closes the pdf document */
--PHP_FUNCTION(pdf_close)
-+PHP_FUNCTION(pdf_close)
- {
- zval **arg1;
- PDF *pdf;
-@@ -516,9 +532,9 @@
-
- /* }}} */
-
--/* {{{ proto void pdf_begin_page(int pdfdoc, double width, double height)
-+/* {{{ proto void pdf_begin_page(int pdfdoc, float width, float height)
- Starts page */
--PHP_FUNCTION(pdf_begin_page)
-+PHP_FUNCTION(pdf_begin_page)
- {
- zval **arg1, **arg2, **arg3;
- PDF *pdf;
-@@ -538,7 +554,7 @@
-
- /* {{{ proto void pdf_end_page(int pdfdoc)
- Ends page */
--PHP_FUNCTION(pdf_end_page)
-+PHP_FUNCTION(pdf_end_page)
- {
- zval **arg1;
- PDF *pdf;
-@@ -556,7 +572,7 @@
-
- /* {{{ proto void pdf_show(int pdfdoc, string text)
- Output text at current position */
--PHP_FUNCTION(pdf_show)
-+PHP_FUNCTION(pdf_show)
- {
- zval **arg1, **arg2;
- PDF *pdf;
-@@ -573,9 +589,9 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_show_xy(int pdfdoc, string text, double x-koor, double y-koor)
-+/* {{{ proto void pdf_show_xy(int pdfdoc, string text, float x_koor, float y_koor)
- Output text at position */
--PHP_FUNCTION(pdf_show_xy)
-+PHP_FUNCTION(pdf_show_xy)
- {
- zval **arg1, **arg2, **arg3, **arg4;
- PDF *pdf;
-@@ -594,9 +610,9 @@
- }
- /* }}} */
-
--/* {{{ proto int pdf_show_boxed(int pdfdoc, string text, double x-koor, double y-koor, double width, double height, string mode [, string feature])
-+/* {{{ proto int pdf_show_boxed(int pdfdoc, string text, float x_koor, float y_koor, float width, float height, string mode [, string feature])
- Output text formated in a boxed */
--PHP_FUNCTION(pdf_show_boxed)
-+PHP_FUNCTION(pdf_show_boxed)
- {
- zval **argv[8];
- int argc = ZEND_NUM_ARGS();
-@@ -636,9 +652,9 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_set_font(int pdfdoc, string font, double size, string encoding [, int embed])
-+/* {{{ proto void pdf_set_font(int pdfdoc, string font, float size, string encoding [, int embed])
- Select the current font face, size and encoding */
--PHP_FUNCTION(pdf_set_font)
-+PHP_FUNCTION(pdf_set_font)
- {
- zval **arg1, **arg2, **arg3, **arg4, **arg5;
- int font, embed;
-@@ -699,7 +715,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_set_value(int pdfdoc, string key, double value)
-+/* {{{ proto void pdf_set_value(int pdfdoc, string key, float value)
- Sets arbitrary value */
- PHP_FUNCTION(pdf_set_value)
- {
-@@ -720,7 +736,7 @@
- }
- /* }}} */
-
--/* {{{ proto double pdf_get_value(int pdfdoc, string key, double modifier)
-+/* {{{ proto float pdf_get_value(int pdfdoc, string key, float modifier)
- Gets arbitrary value */
- PHP_FUNCTION(pdf_get_value)
- {
-@@ -751,6 +767,15 @@
- } else if(0 == (strcmp(Z_STRVAL_PP(argv[1]), "resy"))) {
- if(argc < 3) WRONG_PARAM_COUNT;
- value = PDF_get_value(pdf, Z_STRVAL_PP(argv[1]), (float)Z_DVAL_PP(argv[2])-PDFLIB_IMAGE_OFFSET);
-+ } else if(0 == (strcmp(Z_STRVAL_PP(argv[1]), "capheight"))) {
-+ if(argc < 3) WRONG_PARAM_COUNT;
-+ value = PDF_get_value(pdf, Z_STRVAL_PP(argv[1]), (float)Z_DVAL_PP(argv[2])-PDFLIB_FONT_OFFSET);
-+ } else if(0 == (strcmp(Z_STRVAL_PP(argv[1]), "ascender"))) {
-+ if(argc < 3) WRONG_PARAM_COUNT;
-+ value = PDF_get_value(pdf, Z_STRVAL_PP(argv[1]), (float)Z_DVAL_PP(argv[2])-PDFLIB_FONT_OFFSET);
-+ } else if(0 == (strcmp(Z_STRVAL_PP(argv[1]), "descender"))) {
-+ if(argc < 3) WRONG_PARAM_COUNT;
-+ value = PDF_get_value(pdf, Z_STRVAL_PP(argv[1]), (float)Z_DVAL_PP(argv[2])-PDFLIB_FONT_OFFSET);
- } else if(0 == (strcmp(Z_STRVAL_PP(argv[1]), "font"))) {
- value = PDF_get_value(pdf, Z_STRVAL_PP(argv[1]), 0.0)+PDFLIB_FONT_OFFSET;
- } else {
-@@ -803,7 +828,7 @@
- }
- /* }}} */
-
--/* {{{ proto double pdf_get_fontsize(int pdfdoc)
-+/* {{{ proto float pdf_get_fontsize(int pdfdoc)
- Gets the current font size */
- PHP_FUNCTION(pdf_get_fontsize)
- {
-@@ -822,7 +847,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_set_leading(int pdfdoc, double distance)
-+/* {{{ proto void pdf_set_leading(int pdfdoc, float distance)
- Sets distance between text lines */
- PHP_FUNCTION(pdf_set_leading)
- {
-@@ -838,7 +863,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_set_horiz_scaling(int pdfdoc, double scale)
-+/* {{{ proto void pdf_set_horiz_scaling(int pdfdoc, float scale)
- Sets horizontal scaling of text */
- PHP_FUNCTION(pdf_set_horiz_scaling)
- {
-@@ -846,7 +871,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_set_text_rise(int pdfdoc, double value)
-+/* {{{ proto void pdf_set_text_rise(int pdfdoc, float value)
- Sets the text rise */
- PHP_FUNCTION(pdf_set_text_rise)
- {
-@@ -854,7 +879,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_set_char_spacing(int pdfdoc, double space)
-+/* {{{ proto void pdf_set_char_spacing(int pdfdoc, float space)
- Sets character spacing */
- PHP_FUNCTION(pdf_set_char_spacing)
- {
-@@ -862,7 +887,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_set_word_spacing(int pdfdoc, double space)
-+/* {{{ proto void pdf_set_word_spacing(int pdfdoc, float space)
- Sets spacing between words */
- PHP_FUNCTION(pdf_set_word_spacing)
- {
-@@ -870,7 +895,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_set_text_pos(int pdfdoc, double x, double y)
-+/* {{{ proto void pdf_set_text_pos(int pdfdoc, float x, float y)
- Sets the position of text for the next pdf_show call */
- PHP_FUNCTION(pdf_set_text_pos)
- {
-@@ -909,7 +934,7 @@
- }
- /* }}} */
-
--/* {{{ proto double pdf_stringwidth(int pdfdoc, string text [, int font, double size])
-+/* {{{ proto float pdf_stringwidth(int pdfdoc, string text [, int font, float size])
- Returns width of text in current font */
- PHP_FUNCTION(pdf_stringwidth)
- {
-@@ -990,7 +1015,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_translate(int pdfdoc, double x, double y)
-+/* {{{ proto void pdf_translate(int pdfdoc, float x, float y)
- Sets origin of coordinate system */
- PHP_FUNCTION(pdf_translate)
- {
-@@ -1010,7 +1035,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_scale(int pdfdoc, double x-scale, double y-scale)
-+/* {{{ proto void pdf_scale(int pdfdoc, float x_scale, float y_scale)
- Sets scaling */
- PHP_FUNCTION(pdf_scale)
- {
-@@ -1030,7 +1055,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_rotate(int pdfdoc, double angle)
-+/* {{{ proto void pdf_rotate(int pdfdoc, float angle)
- Sets rotation */
- PHP_FUNCTION(pdf_rotate)
- {
-@@ -1049,7 +1074,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_skew(int pdfdoc, double xangle, double yangle)
-+/* {{{ proto void pdf_skew(int pdfdoc, float xangle, float yangle)
- Skew the coordinate system */
- PHP_FUNCTION(pdf_skew)
- {
-@@ -1069,7 +1094,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_setflat(int pdfdoc, double value)
-+/* {{{ proto void pdf_setflat(int pdfdoc, float value)
- Sets flatness */
- PHP_FUNCTION(pdf_setflat)
- {
-@@ -1147,7 +1172,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_setmiterlimit(int pdfdoc, double value)
-+/* {{{ proto void pdf_setmiterlimit(int pdfdoc, float value)
- Sets miter limit */
- PHP_FUNCTION(pdf_setmiterlimit)
- {
-@@ -1173,7 +1198,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_setlinewidth(int pdfdoc, double width)
-+/* {{{ proto void pdf_setlinewidth(int pdfdoc, float width)
- Sets line width */
- PHP_FUNCTION(pdf_setlinewidth)
- {
-@@ -1192,7 +1217,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_setdash(int pdfdoc, double black, double white)
-+/* {{{ proto void pdf_setdash(int pdfdoc, float black, float white)
- Sets dash pattern */
- PHP_FUNCTION(pdf_setdash)
- {
-@@ -1212,7 +1237,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_moveto(int pdfdoc, double x, double y)
-+/* {{{ proto void pdf_moveto(int pdfdoc, float x, float y)
- Sets current point */
- PHP_FUNCTION(pdf_moveto)
- {
-@@ -1232,7 +1257,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_curveto(int pdfdoc, double x1, double y1, double x2, double y2, double x3, double y3)
-+/* {{{ proto void pdf_curveto(int pdfdoc, float x1, float y1, float x2, float y2, float x3, float y3)
- Draws a curve */
- PHP_FUNCTION(pdf_curveto)
- {
-@@ -1263,7 +1288,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_lineto(int pdfdoc, double x, double y)
-+/* {{{ proto void pdf_lineto(int pdfdoc, float x, float y)
- Draws a line */
- PHP_FUNCTION(pdf_lineto)
- {
-@@ -1283,7 +1308,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_circle(int pdfdoc, double x, double y, double radius)
-+/* {{{ proto void pdf_circle(int pdfdoc, float x, float y, float radius)
- Draws a circle */
- PHP_FUNCTION(pdf_circle)
- {
-@@ -1304,7 +1329,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_arc(int pdfdoc, double x, double y, double radius, double start, double end)
-+/* {{{ proto void pdf_arc(int pdfdoc, float x, float y, float radius, float start, float end)
- Draws an arc */
- PHP_FUNCTION(pdf_arc)
- {
-@@ -1333,7 +1358,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_rect(int pdfdoc, double x, double y, double width, double height)
-+/* {{{ proto void pdf_rect(int pdfdoc, float x, float y, float width, float height)
- Draws a rectangle */
- PHP_FUNCTION(pdf_rect)
- {
-@@ -1552,7 +1577,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_setgray_fill(int pdfdoc, double value)
-+/* {{{ proto void pdf_setgray_fill(int pdfdoc, float value)
- Sets filling color to gray value */
- PHP_FUNCTION(pdf_setgray_fill)
- {
-@@ -1575,7 +1600,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_setgray_stroke(int pdfdoc, double value)
-+/* {{{ proto void pdf_setgray_stroke(int pdfdoc, float value)
- Sets drawing color to gray value */
- PHP_FUNCTION(pdf_setgray_stroke)
- {
-@@ -1598,7 +1623,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_setgray(int pdfdoc, double value)
-+/* {{{ proto void pdf_setgray(int pdfdoc, float value)
- Sets drawing and filling color to gray value */
- PHP_FUNCTION(pdf_setgray)
- {
-@@ -1621,7 +1646,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_setrgbcolor_fill(int pdfdoc, double red, double green, double blue)
-+/* {{{ proto void pdf_setrgbcolor_fill(int pdfdoc, float red, float green, float blue)
- Sets filling color to RGB color value */
- PHP_FUNCTION(pdf_setrgbcolor_fill)
- {
-@@ -1646,7 +1671,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_setrgbcolor_stroke(int pdfdoc, double red, double green, double blue)
-+/* {{{ proto void pdf_setrgbcolor_stroke(int pdfdoc, float red, float green, float blue)
- Sets drawing color to RGB color value */
- PHP_FUNCTION(pdf_setrgbcolor_stroke)
- {
-@@ -1671,7 +1696,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_setrgbcolor(int pdfdoc, double red, double green, double blue)
-+/* {{{ proto void pdf_setrgbcolor(int pdfdoc, float red, float green, float blue)
- Sets drawing and filling color to RGB color value */
- PHP_FUNCTION(pdf_setrgbcolor)
- {
-@@ -1798,7 +1823,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_set_duration(int pdfdoc, double duration)
-+/* {{{ proto void pdf_set_duration(int pdfdoc, float duration)
- Sets duration between pages */
- PHP_FUNCTION(pdf_set_duration)
- {
-@@ -1835,7 +1860,11 @@
- convert_to_string_ex(arg2);
-
- #ifdef VIRTUAL_DIR
-+# if ZEND_MODULE_API_NO >= 20010901
- virtual_filepath(Z_STRVAL_PP(arg2), &image TSRMLS_CC);
-+# else
-+ virtual_filepath(Z_STRVAL_PP(arg2), &image);
-+# endif
- #else
- image = Z_STRVAL_PP(arg2);
- #endif
-@@ -1908,7 +1937,11 @@
- convert_to_string_ex(arg3);
-
- #ifdef VIRTUAL_DIR
-+# if ZEND_MODULE_API_NO >= 20010901
- virtual_filepath(Z_STRVAL_PP(arg3), &image TSRMLS_CC);
-+# else
-+ virtual_filepath(Z_STRVAL_PP(arg3), &image);
-+# endif
- #else
- image = Z_STRVAL_PP(arg3);
- #endif
-@@ -2013,7 +2046,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_place_image(int pdf, int pdfimage, double x, double y, double scale)
-+/* {{{ proto void pdf_place_image(int pdf, int pdfimage, float x, float y, float scale)
- Places image in the PDF document */
- PHP_FUNCTION(pdf_place_image)
- {
-@@ -2076,7 +2109,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_add_weblink(int pdfdoc, double llx, double lly, double urx, double ury, string url)
-+/* {{{ proto void pdf_add_weblink(int pdfdoc, float llx, float lly, float urx, float ury, string url)
- Adds link to web resource */
- PHP_FUNCTION(pdf_add_weblink)
- {
-@@ -2103,7 +2136,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_add_pdflink(int pdfdoc, double llx, double lly, double urx, double ury, string filename, int page, string dest)
-+/* {{{ proto void pdf_add_pdflink(int pdfdoc, float llx, float lly, float urx, float ury, string filename, int page, string dest)
- Adds link to PDF document */
- PHP_FUNCTION(pdf_add_pdflink)
- {
-@@ -2135,7 +2168,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_set_border_style(int pdfdoc, string style, double width)
-+/* {{{ proto void pdf_set_border_style(int pdfdoc, string style, float width)
- Sets style of box surounding all kinds of annotations and link */
- PHP_FUNCTION(pdf_set_border_style)
- {
-@@ -2155,7 +2188,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_set_border_color(int pdfdoc, double red, double green, double blue)
-+/* {{{ proto void pdf_set_border_color(int pdfdoc, float red, float green, float blue)
- Sets color of box surounded all kinds of annotations and links */
- PHP_FUNCTION(pdf_set_border_color)
- {
-@@ -2176,7 +2209,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_set_border_dash(int pdfdoc, double black, double white)
-+/* {{{ proto void pdf_set_border_dash(int pdfdoc, float black, float white)
- Sets the border dash style of all kinds of annotations and links */
- PHP_FUNCTION(pdf_set_border_dash)
- {
-@@ -2196,7 +2229,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_add_annotation(int pdfdoc, double xll, double yll, double xur, double xur, string title, string text)
-+/* {{{ proto void pdf_add_annotation(int pdfdoc, float xll, float yll, float xur, float xur, string title, string text)
- Sets annotation (depreciated use pdf_add_note instead) */
- PHP_FUNCTION(pdf_add_annotation)
- {
-@@ -2247,7 +2280,7 @@
-
- /* }}} */
-
--/* {{{ proto void pdf_delete(int pdfdoc)
-+/* {{{ proto bool pdf_delete(int pdfdoc)
- Deletes the PDF object */
- PHP_FUNCTION(pdf_delete)
- {
-@@ -2260,8 +2293,11 @@
-
- ZEND_FETCH_RESOURCE(pdf, PDF *, arg1, -1, "pdf object", le_pdf);
-
-- PDF_delete(pdf);
-- zend_list_delete(Z_LVAL_PP(arg1));
-+#ifndef Z_RESVAL /* for php 4.0.3pl1 */
-+#define Z_RESVAL(zval) (zval).value.lval
-+#define Z_RESVAL_PP(zval_pp) Z_RESVAL(**zval_pp)
-+#endif
-+ zend_list_delete(Z_RESVAL_PP(arg1));
-
- RETURN_TRUE;
- }
-@@ -2406,7 +2442,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_setpolydash(int pdfdoc, double darray)
-+/* {{{ proto void pdf_setpolydash(int pdfdoc, float darray)
- Sets more complicated dash pattern */
-
- PHP_FUNCTION(pdf_setpolydash)
-@@ -2436,10 +2472,10 @@
-
- zend_hash_get_current_data(array, (void **) &keydataptr);
- keydata = *keydataptr;
-- if (keydata->type == IS_DOUBLE) {
-- darray[i] = (float) keydata->value.dval;
-- } else if (keydata->type == IS_LONG) {
-- darray[i] = (float) keydata->value.lval;
-+ if (Z_TYPE_P(keydata) == IS_DOUBLE) {
-+ darray[i] = (float) Z_DVAL_P(keydata);
-+ } else if (Z_TYPE_P(keydata) == IS_LONG) {
-+ darray[i] = (float) Z_LVAL_P(keydata);
- } else {
- php_error(E_WARNING,"PDFlib set_polydash: illegal darray value");
- }
-@@ -2453,7 +2489,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_concat(int pdf, double a, double b, double c, double d, double e, double f)
-+/* {{{ proto void pdf_concat(int pdf, float a, float b, float c, float d, float e, float f)
- Concatenates a matrix to the current transformation matrix for text and graphics */
- PHP_FUNCTION(pdf_concat)
- {
-@@ -2502,7 +2538,11 @@
-
- convert_to_string_ex(arg2);
- #ifdef VIRTUAL_DIR
-+# if ZEND_MODULE_API_NO >= 20010901
- virtual_filepath(Z_STRVAL_PP(arg2), &image TSRMLS_CC);
-+# else
-+ virtual_filepath(Z_STRVAL_PP(arg2), &image);
-+# endif
- #else
- image = Z_STRVAL_PP(arg2);
- #endif
-@@ -2551,7 +2591,11 @@
- convert_to_string_ex(arg10);
-
- #ifdef VIRTUAL_DIR
-+# if ZEND_MODULE_API_NO >= 20010901
- virtual_filepath(Z_STRVAL_PP(arg4), &image TSRMLS_CC);
-+# else
-+ virtual_filepath(Z_STRVAL_PP(arg4), &image);
-+# endif
- #else
- image = Z_STRVAL_PP(arg4);
- #endif
-@@ -2571,7 +2615,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_attach_file(int pdf, double lly, double lly, double urx, double ury, string filename, string description, string author, string mimetype, string icon)
-+/* {{{ proto void pdf_attach_file(int pdf, float lly, float lly, float urx, float ury, string filename, string description, string author, string mimetype, string icon)
- Adds a file attachment annotation at the rectangle specified by his lower left and upper right corners */
- PHP_FUNCTION(pdf_attach_file)
- {
-@@ -2609,7 +2653,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_add_note(int pdfdoc, double llx, double lly, double urx, double ury, string contents, string title, string icon, int open)
-+/* {{{ proto void pdf_add_note(int pdfdoc, float llx, float lly, float urx, float ury, string contents, string title, string icon, int open)
- Sets annotation */
- PHP_FUNCTION(pdf_add_note)
- {
-@@ -2645,7 +2689,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_add_locallink(int pdfdoc, double llx, double lly, double urx, double ury, int page, string dest)
-+/* {{{ proto void pdf_add_locallink(int pdfdoc, float llx, float lly, float urx, float ury, int page, string dest)
- Adds link to web resource */
- PHP_FUNCTION(pdf_add_locallink)
- {
-@@ -2677,7 +2721,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_add_launchlink(int pdfdoc, double llx, double lly, double urx, double ury, string filename)
-+/* {{{ proto void pdf_add_launchlink(int pdfdoc, float llx, float lly, float urx, float ury, string filename)
- Adds link to web resource */
- PHP_FUNCTION(pdf_add_launchlink)
- {
-@@ -2729,7 +2773,11 @@
- convert_to_long_ex(arg4);
-
- #ifdef VIRTUAL_DIR
-+# if ZEND_MODULE_API_NO >= 20010901
- virtual_filepath(Z_STRVAL_PP(arg2), &file TSRMLS_CC);
-+# else
-+ virtual_filepath(Z_STRVAL_PP(arg2), &file);
-+# endif
- #else
- file = Z_STRVAL_PP(arg2);
- #endif
-@@ -2792,7 +2840,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_place_pdi_page(int pdf, int page, double x, double y, double sx, double sy)
-+/* {{{ proto void pdf_place_pdi_page(int pdf, int page, float x, float y, float sx, float sy)
- * Place a PDF page with the lower left corner at (x, y), and scale it. */
- PHP_FUNCTION(pdf_place_pdi_page)
- {
-@@ -2875,7 +2923,7 @@
- }
- /* }}} */
-
--/* {{{ proto double pdf_get_pdi_value(int pdf, string key, int doc, int page, int index);
-+/* {{{ proto float pdf_get_pdi_value(int pdf, string key, int doc, int page, int index);
- * Get the contents of some PDI document parameter with numerical type. */
- PHP_FUNCTION(pdf_get_pdi_value)
- {
-@@ -2904,7 +2952,7 @@
- }
- /* }}} */
-
--/* {{{ proto int pdf_begin_pattern(int pdf, double width, double height, double xstep, double ystep, int painttype);
-+/* {{{ proto int pdf_begin_pattern(int pdf, float width, float height, float xstep, float ystep, int painttype);
- * Start a new pattern definition. */
- PHP_FUNCTION(pdf_begin_pattern)
- {
-@@ -2954,7 +3002,7 @@
- }
- /* }}} */
-
--/* {{{ proto int pdf_begin_template(int pdf, double width, double height);
-+/* {{{ proto int pdf_begin_template(int pdf, float width, float height);
- * Start a new template definition. */
- PHP_FUNCTION(pdf_begin_template)
- {
-@@ -2999,7 +3047,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_setcolor(int pdf, string type, string colorspace, double c1 [, double c2 [, double c3 [, double c4]]]);
-+/* {{{ proto void pdf_setcolor(int pdf, string type, string colorspace, float c1 [, float c2 [, float c3 [, float c4]]]);
- * Set the current color space and color. */
- PHP_FUNCTION(pdf_setcolor)
- {
-@@ -3087,7 +3135,7 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_arcn(int pdf, double x, double y, double r, double alpha, double beta);
-+/* {{{ proto void pdf_arcn(int pdf, float x, float y, float r, float alpha, float beta);
- * Draw a clockwise circular arc from alpha to beta degrees. */
- PHP_FUNCTION(pdf_arcn)
- {
-@@ -3158,10 +3206,10 @@
- }
- /* }}} */
-
--/* {{{ proto void pdf_setmatrix(int pdf, double a, double b, double c, double d, double e, double f)
-+/* {{{ proto void pdf_setmatrix(int pdf, float a, float b, float c, float d, float e, float f)
- Explicitly set the current transformation matrix. */
- PHP_FUNCTION(pdf_setmatrix)
--{
-+{
- zval **arg1, **arg2, **arg3, **arg4, **arg5, **arg6, **arg7;
- PDF *pdf;
-
-@@ -3189,6 +3237,7 @@
- RETURN_TRUE;
- }
- /* }}} */
-+
- #endif /* PDFlib >= V4 */
-
- #endif
-@@ -3198,6 +3247,6 @@
- * tab-width: 4
- * c-basic-offset: 4
- * End:
-- * vim600: sw=4 ts=4 tw=78 fdm=marker
-- * vim<600: sw=4 ts=4 tw=78
-+ * vim600: sw=4 ts=4 fdm=marker
-+ * vim<600: sw=4 ts=4
- */
---- php-4.1.2/ext/pdf/php_pdf.h.wiget Tue Aug 7 19:26:32 2001
-+++ php-4.1.2/ext/pdf/php_pdf.h Mon Dec 3 21:53:06 2001
-@@ -16,17 +16,15 @@
- +----------------------------------------------------------------------+
- */
-
--/* $Id$ */
-+/* $Id$ */
-+/* Derived from:
-+ Id: php_pdf.h,v 1.22 2001/11/30 04:46:35 sniper Exp */
-
- #ifndef PHP_PDF_H
- #define PHP_PDF_H
-
- #if HAVE_PDFLIB
-
--/* with version 2.20 of pdflib PDF_open_mem isn't available unless
-- the following define isn't there.
--*/
--#define PDF_OPEN_MEM_SUPPORTED
- #include <pdflib.h>
-
- extern zend_module_entry pdf_module_entry;
+++ /dev/null
---- php-4.0.6/configure.in.pear Mon Jul 9 12:11:47 2001
-+++ php-4.0.6/configure.in Mon Jul 9 12:19:09 2001
-@@ -501,13 +501,14 @@
-
- if test "x$PHP_PEAR" != "xno"; then
- PEAR_DIR=pear
--fi
--
--if test "x$PHP_PEAR" = "xDEFAULT"; then
-- case $PHP_LAYOUT in
-- GNU) PEAR_INSTALLDIR="$datadir/pear";;
-- *) PEAR_INSTALLDIR="$libdir/php";;
-- esac
-+ if test "x$PHP_PEAR" = "xDEFAULT" -o "x$PHP_PEAR" = "xyes" ; then
-+ case $PHP_LAYOUT in
-+ GNU) PEAR_INSTALLDIR="$datadir/pear";;
-+ *) PEAR_INSTALLDIR="$libdir/php";;
-+ esac
-+ else
-+ PEAR_INSTALLDIR="$PHP_PEAR"
-+ fi
- fi
-
- test -n "$DEBUG_CFLAGS" && CFLAGS="$CFLAGS $DEBUG_CFLAGS"
+++ /dev/null
---- php-4.3.3RC3/ext/standard/info.c.orig 2003-06-19 18:43:41.000000000 +0200
-+++ php-4.3.3RC3/ext/standard/info.c 2003-08-16 21:37:18.705836072 +0200
-@@ -518,6 +518,21 @@
- PUTS(!sapi_module.phpinfo_as_text?"<br />":"\n");
- PUTS(zend_version);
- php_info_print_box_end();
-+ /* PLD Linux */
-+ php_info_print_box_start(0);
-+ if (expose_php && !sapi_module.phpinfo_as_text) {
-+ PUTS("<a href=\"http://www.pld-linux.org/\"><img src=\"");
-+ if (SG(request_info).request_uri) {
-+ PUTS(SG(request_info).request_uri);
-+ }
-+ PUTS("?="PLD_LOGO_GUID"\" border=\"0\" align=\"right\" alt=\"PLD logo\"></a>\n");
-+ }
-+ PUTS("This server is using PLD Linux.");
-+ if (!sapi_module.phpinfo_as_text)
-+ PUTS("<br />More information at <a href=\"http://www.pld-linux.org/\">http://www.pld-linux.org/</a>.<br />\n");
-+ else
-+ PUTS("\nMore information at http://www.pld-linux.org/.\n");
-+ php_info_print_box_end();
- efree(php_uname);
- }
-
-diff -urN php-4.2.1RC2.org/ext/standard/info.h php-4.2.1RC2/ext/standard/info.h
---- php-4.2.1RC2.org/ext/standard/info.h Sat May 11 20:49:24 2002
-+++ php-4.2.1RC2/ext/standard/info.h Sat May 11 20:49:40 2002
-@@ -54,6 +54,7 @@
- #define PHP_EGG_LOGO_GUID "PHPE9568F36-D428-11d2-A769-00AA001ACF42"
- #define ZEND_LOGO_GUID "PHPE9568F35-D428-11d2-A769-00AA001ACF42"
- #define PHP_CREDITS_GUID "PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000"
-+#define PLD_LOGO_GUID "PHPE9568F40-D428-11d2-A769-00AA001ACF42"
-
- PHP_FUNCTION(phpversion);
- PHP_FUNCTION(phpinfo);
---- php-4.3.0.org/main/logos.h Sat May 11 20:49:24 2002
-+++ php-4.3.0/main/logos.h Sat May 11 20:50:32 2002
-@@ -1503,1 +1503,127 @@
- 249, 249, 207, 233, 5, 4, 0, 59 };
-+
-+
-+unsigned char pld_logo[] = {
-+ 137, 80, 78, 71, 13, 10, 26, 10, 0, 0,
-+ 0, 13, 73, 72, 68, 82, 0, 0, 0, 80,
-+ 0, 0, 0, 50, 8, 3, 0, 0, 0, 252,
-+ 243, 172, 206, 0, 0, 2, 46, 80, 76, 84,
-+ 69, 192, 192, 192, 0, 0, 99, 0, 0, 97,
-+ 0, 0, 96, 0, 0, 95, 0, 0, 94, 0,
-+ 0, 93, 0, 0, 91, 2, 2, 98, 6, 6,
-+ 102, 6, 6, 101, 11, 11, 101, 14, 14, 111,
-+ 15, 15, 103, 16, 16, 107, 21, 21, 111, 26,
-+ 26, 111, 27, 27, 112, 28, 28, 115, 27, 27,
-+ 109, 29, 29, 114, 30, 30, 114, 31, 31, 115,
-+ 34, 34, 119, 36, 36, 120, 35, 35, 117, 36,
-+ 36, 119, 36, 36, 117, 38, 38, 120, 40, 40,
-+ 121, 42, 42, 123, 42, 42, 122, 41, 41, 118,
-+ 42, 42, 120, 44, 44, 125, 47, 47, 128, 46,
-+ 46, 120, 49, 49, 124, 53, 53, 130, 55, 55,
-+ 133, 59, 59, 133, 63, 63, 138, 61, 61, 134,
-+ 60, 60, 131, 58, 58, 125, 64, 64, 137, 63,
-+ 63, 135, 60, 60, 129, 61, 61, 129, 65, 65,
-+ 135, 67, 67, 138, 64, 64, 131, 69, 69, 140,
-+ 71, 71, 141, 70, 70, 139, 70, 70, 137, 70,
-+ 70, 136, 71, 71, 137, 68, 68, 131, 76, 76,
-+ 142, 79, 79, 146, 78, 78, 143, 79, 79, 144,
-+ 79, 79, 143, 74, 74, 134, 74, 74, 133, 83,
-+ 83, 147, 89, 89, 154, 82, 82, 141, 90, 90,
-+ 154, 90, 90, 153, 88, 88, 150, 91, 91, 153,
-+ 90, 90, 151, 93, 93, 152, 98, 98, 159, 96,
-+ 96, 156, 91, 91, 148, 96, 96, 155, 94, 94,
-+ 152, 88, 88, 142, 89, 89, 143, 100, 100, 160,
-+ 93, 93, 147, 103, 103, 162, 101, 101, 159, 92,
-+ 92, 144, 96, 96, 149, 106, 106, 164, 98, 98,
-+ 152, 96, 96, 148, 108, 108, 165, 106, 106, 162,
-+ 101, 101, 154, 102, 102, 155, 103, 103, 156, 111,
-+ 111, 167, 103, 103, 155, 112, 112, 167, 104, 104,
-+ 155, 112, 112, 164, 116, 116, 168, 109, 109, 156,
-+ 118, 118, 168, 127, 127, 177, 125, 125, 174, 125,
-+ 125, 173, 111, 111, 154, 127, 127, 175, 124, 124,
-+ 171, 128, 128, 176, 137, 137, 184, 137, 137, 183,
-+ 128, 128, 171, 125, 125, 166, 140, 140, 185, 126,
-+ 126, 167, 137, 137, 180, 143, 143, 185, 141, 141,
-+ 183, 146, 146, 188, 144, 144, 185, 148, 148, 189,
-+ 138, 138, 175, 137, 137, 174, 148, 148, 187, 149,
-+ 149, 185, 158, 158, 195, 157, 157, 193, 153, 153,
-+ 187, 164, 164, 199, 166, 166, 201, 165, 165, 200,
-+ 156, 156, 188, 155, 155, 187, 160, 160, 192, 171,
-+ 171, 204, 169, 169, 202, 170, 170, 202, 177, 177,
-+ 209, 158, 158, 187, 174, 174, 205, 166, 166, 195,
-+ 173, 173, 203, 173, 173, 202, 169, 169, 197, 167,
-+ 167, 194, 168, 168, 194, 184, 184, 212, 173, 173,
-+ 198, 187, 187, 213, 185, 185, 210, 183, 183, 208,
-+ 189, 189, 214, 194, 194, 218, 189, 189, 213, 184,
-+ 184, 207, 183, 183, 206, 195, 195, 218, 199, 199,
-+ 222, 200, 200, 222, 196, 196, 217, 198, 198, 218,
-+ 194, 194, 214, 188, 188, 207, 204, 204, 224, 197,
-+ 197, 215, 209, 209, 227, 208, 208, 226, 207, 207,
-+ 225, 206, 206, 224, 205, 205, 223, 208, 208, 225,
-+ 205, 205, 222, 196, 196, 212, 211, 211, 227, 206,
-+ 206, 222, 213, 213, 229, 209, 209, 224, 216, 216,
-+ 231, 212, 212, 227, 202, 202, 216, 219, 219, 233,
-+ 217, 217, 231, 204, 204, 217, 226, 226, 235, 152,
-+ 38, 201, 129, 0, 0, 0, 1, 116, 82, 78,
-+ 83, 0, 64, 230, 216, 102, 0, 0, 0, 1,
-+ 98, 75, 71, 68, 185, 58, 184, 22, 96, 0,
-+ 0, 2, 57, 73, 68, 65, 84, 120, 218, 99,
-+ 96, 24, 156, 32, 195, 207, 92, 180, 159, 138,
-+ 230, 21, 123, 173, 101, 8, 148, 164, 158, 121,
-+ 249, 210, 64, 98, 134, 10, 245, 12, 228, 9,
-+ 3, 18, 157, 217, 212, 51, 16, 236, 217, 164,
-+ 30, 170, 153, 167, 92, 2, 36, 58, 100, 168,
-+ 102, 158, 115, 20, 136, 204, 76, 161, 150, 121,
-+ 221, 198, 32, 114, 150, 236, 60, 106, 25, 40,
-+ 54, 29, 68, 26, 53, 80, 203, 60, 241, 62,
-+ 16, 25, 212, 70, 45, 243, 52, 107, 64, 100,
-+ 179, 22, 181, 204, 155, 239, 2, 166, 148, 106,
-+ 169, 101, 160, 4, 152, 76, 42, 164, 150, 121,
-+ 222, 213, 96, 202, 140, 90, 230, 109, 115, 7,
-+ 83, 174, 147, 168, 101, 96, 197, 22, 16, 57,
-+ 197, 2, 72, 180, 80, 197, 192, 157, 96, 82,
-+ 61, 145, 129, 97, 38, 187, 19, 181, 92, 201,
-+ 16, 193, 217, 10, 36, 125, 217, 52, 168, 100,
-+ 222, 10, 249, 180, 34, 16, 29, 206, 42, 69,
-+ 29, 3, 155, 96, 229, 106, 48, 155, 53, 85,
-+ 12, 12, 113, 128, 177, 84, 89, 230, 82, 195,
-+ 192, 232, 0, 24, 107, 29, 179, 28, 53, 12,
-+ 76, 48, 128, 51, 35, 89, 167, 82, 193, 192,
-+ 82, 94, 4, 155, 195, 146, 10, 6, 78, 96,
-+ 222, 1, 103, 219, 50, 81, 195, 207, 76, 241,
-+ 112, 230, 68, 150, 201, 84, 48, 208, 159, 101,
-+ 25, 156, 205, 149, 76, 13, 39, 10, 240, 65,
-+ 25, 11, 54, 120, 10, 18, 171, 137, 17, 78,
-+ 96, 130, 173, 220, 252, 43, 193, 140, 133, 113,
-+ 237, 28, 32, 101, 64, 64, 145, 129, 12, 12,
-+ 142, 58, 149, 27, 65, 180, 97, 163, 16, 84,
-+ 25, 65, 19, 241, 27, 8, 4, 75, 64, 68,
-+ 110, 172, 30, 220, 64, 176, 51, 17, 8, 76,
-+ 65, 25, 112, 63, 48, 194, 20, 97, 49, 122,
-+ 209, 108, 32, 177, 88, 209, 30, 102, 32, 212,
-+ 84, 168, 129, 16, 2, 137, 135, 112, 33, 92,
-+ 4, 13, 212, 167, 130, 72, 17, 109, 152, 189,
-+ 48, 3, 161, 16, 46, 132, 144, 35, 96, 96,
-+ 153, 9, 136, 180, 211, 71, 87, 11, 119, 24,
-+ 3, 134, 57, 248, 13, 172, 50, 5, 145, 233,
-+ 10, 240, 240, 96, 100, 100, 68, 210, 11, 115,
-+ 24, 52, 104, 81, 194, 16, 123, 228, 116, 197,
-+ 128, 200, 114, 97, 130, 233, 5, 103, 148, 163,
-+ 129, 222, 80, 16, 57, 221, 138, 90, 230, 49,
-+ 172, 206, 2, 83, 53, 100, 185, 16, 27, 88,
-+ 227, 6, 166, 230, 64, 67, 134, 17, 150, 228,
-+ 144, 248, 48, 247, 48, 34, 83, 56, 193, 52,
-+ 31, 48, 181, 137, 1, 158, 118, 145, 12, 68,
-+ 209, 79, 68, 190, 4, 129, 149, 57, 168, 78,
-+ 64, 55, 16, 97, 14, 146, 11, 225, 110, 71,
-+ 214, 2, 149, 223, 236, 65, 158, 129, 12, 8,
-+ 67, 144, 19, 20, 3, 195, 246, 60, 178, 12,
-+ 100, 192, 105, 224, 230, 2, 36, 3, 209, 35,
-+ 133, 120, 3, 17, 202, 150, 235, 46, 69, 15,
-+ 117, 202, 92, 184, 202, 6, 191, 129, 24, 177,
-+ 140, 97, 32, 35, 170, 129, 12, 106, 29, 152,
-+ 6, 50, 50, 162, 196, 37, 138, 48, 186, 79,
-+ 81, 5, 25, 24, 214, 215, 17, 149, 186, 200,
-+ 0, 0, 218, 35, 72, 230, 144, 1, 81, 42,
-+ 0, 0, 0, 0, 73, 69, 78, 68, 174, 66,
-+ 96, 130 };
-diff -urN php-4.2.1RC2.org/main/php_logos.c php-4.2.1RC2/main/php_logos.c
---- php-4.2.1RC2.org/main/php_logos.c Sat May 11 20:49:24 2002
-+++ php-4.2.1RC2/main/php_logos.c Sat May 11 20:51:05 2002
-@@ -56,6 +56,7 @@
- php_register_info_logo(PHP_LOGO_GUID , "image/gif", php_logo , sizeof(php_logo));
- php_register_info_logo(PHP_EGG_LOGO_GUID, "image/gif", php_egg_logo, sizeof(php_egg_logo));
- php_register_info_logo(ZEND_LOGO_GUID , "image/gif", zend_logo , sizeof(zend_logo));
-+ php_register_info_logo(PLD_LOGO_GUID , "image/png", pld_logo , sizeof(pld_logo));
-
- return SUCCESS;
- }
+++ /dev/null
---- php-4.3.3RC3/ext/qtdom/config.m4~ 2002-11-18 06:06:37.000000000 +0100
-+++ php-4.3.3RC3/ext/qtdom/config.m4 2003-08-17 11:40:07.000000000 +0200
-@@ -11,6 +11,9 @@
- if test -f $QTDIR/include/qdom.h; then
- QTDOM_LIBDIR=$QTDIR/lib
- QTDOM_INCDIR=$QTDIR/include
-+ elif test -f /usr/include/qt/qdom.h; then
-+ QTDOM_LIBDIR=/usr/lib
-+ QTDOM_INCDIR=/usr/include/qt
- elif test -f /usr/lib/qt2/include/qdom.h; then
- QTDOM_LIBDIR=/usr/lib
- QTDOM_INCDIR=/usr/lib/qt2/include
-@@ -28,7 +31,7 @@
- AC_MSG_ERROR([qdom.h not found.])
- fi
-
-- PHP_ADD_LIBRARY_WITH_PATH(qt, $QTDOM_LIBDIR, QTDOM_SHARED_LIBADD)
-+ PHP_ADD_LIBRARY_WITH_PATH(qt-mt, $QTDOM_LIBDIR, QTDOM_SHARED_LIBADD)
- PHP_ADD_INCLUDE($QTDOM_INCDIR)
- PHP_NEW_EXTENSION(qtdom, qtdom.c qtdom_qt.cpp, $ext_shared)
- PHP_SUBST(QTDOM_SHARED_LIBADD)
+++ /dev/null
---- php-4.1.1/sapi/apache/sapi_apache.c Sat Aug 4 21:42:45 2001
-+++ ../php-4.1.1-changed/php-4.1.1/sapi/apache/sapi_apache.c Thu Jan 24
-12:08:40 2002
-@@ -89,13 +89,13 @@
-
- (void) php_execute_script(&file_handle TSRMLS_CC);
- }
--
-+/*
- AP(in_request) = 0;
-
- zend_try {
- php_request_shutdown(NULL);
- } zend_end_try();
--
-+*/
- return (OK);
- }
- /* }}} */
+++ /dev/null
---- php-4.3.0/main/php_ini.c.orig Tue Nov 12 21:56:47 2002
-+++ php-4.3.0/main/php_ini.c Sat Jan 4 12:22:39 2003
-@@ -351,6 +351,22 @@
- }
- }
- }
-+ /* Search (global) php.ini file in search path */
-+ if (!fh.handle.fp) {
-+ fh.handle.fp = php_fopen_with_path("php.ini", "r", php_ini_search_path, &php_ini_opened_path TSRMLS_CC);
-+ if (fh.handle.fp) {
-+ fh.filename = php_ini_opened_path;
-+ PG(safe_mode) = safe_mode_state;
-+ PG(open_basedir) = open_basedir;
-+ fh.type = ZEND_HANDLE_FP;
-+ zend_parse_ini_file(&fh, 1, php_config_ini_parser_cb, &extension_lists);
-+ safe_mode_state = PG(safe_mode);
-+ open_basedir = PG(open_basedir);
-+ PG(safe_mode) = 0;
-+ PG(open_basedir) = NULL;
-+ fh.handle.fp = NULL;
-+ }
-+ }
- /* Search php-%sapi-module-name%.ini file in search path */
- if (!fh.handle.fp) {
- const char *fmt = "php-%s.ini";
-@@ -361,13 +377,6 @@
- if (fh.handle.fp) {
- fh.filename = php_ini_opened_path;
- }
-- }
-- /* Search php.ini file in search path */
-- if (!fh.handle.fp) {
-- fh.handle.fp = php_fopen_with_path("php.ini", "r", php_ini_search_path, &php_ini_opened_path TSRMLS_CC);
-- if (fh.handle.fp) {
-- fh.filename = php_ini_opened_path;
-- }
- }
- }
- if (free_ini_search_path) {
+++ /dev/null
---- php-4.3.0/ext/session/php_session.h.orig Thu Oct 3 08:45:15 2002
-+++ php-4.3.0/ext/session/php_session.h Tue Jan 7 12:45:39 2003
-@@ -181,6 +181,7 @@
- int php_get_session_var(char *name, size_t namelen, zval ***state_var TSRMLS_DC);
-
- PHPAPI int php_session_register_module(ps_module *);
-+PHPAPI int php_session_unregister_module(const char *name);
-
- PHPAPI int php_session_register_serializer(const char *name,
- int (*encode)(PS_SERIALIZER_ENCODE_ARGS),
---- php-4.3.0/ext/session/session.c.orig Thu Dec 5 21:42:05 2002
-+++ php-4.3.0/ext/session/session.c Tue Jan 7 12:45:38 2003
-@@ -208,12 +208,33 @@
- ps_modules[i] = ptr;
- ret = 0;
- break;
-- }
-+ } else if((ps_modules[i]->s_name != NULL) && (ptr->s_name != NULL) &&
-+ !strcasecmp(ps_modules[i]->s_name, ptr->s_name)) {
-+ /* avoid double registration */
-+ ret = 0;
-+ break;
-+ }
- }
-
- return ret;
- }
-
-+PHPAPI int php_session_unregister_module(const char *name)
-+{
-+ int ret = -1;
-+ int i;
-+
-+ for (i = 0; i < MAX_MODULES; i++) {
-+ if (ps_modules[i] && ps_modules[i]->s_name && !strcasecmp(ps_modules[i]->s_name, name)) {
-+ ps_modules[i] = 0;
-+ ret = 0;
-+ break;
-+ }
-+ }
-+
-+ return ret;
-+}
-+
- PHP_MINIT_FUNCTION(session);
- PHP_RINIT_FUNCTION(session);
- PHP_MSHUTDOWN_FUNCTION(session);
---- php-4.3.0/ext/session/mod_mm.c.orig Thu Dec 5 21:42:05 2002
-+++ php-4.3.0/ext/session/mod_mm.c Tue Jan 7 12:46:21 2003
-@@ -291,6 +291,7 @@
-
- PHP_MSHUTDOWN_FUNCTION(ps_mm)
- {
-+ php_session_unregister_module("mm");
- if (ps_mm_instance) {
- ps_mm_destroy(ps_mm_instance);
- return SUCCESS;
---- php-4.3.0/ext/msession/msession.c.orig Thu Aug 22 15:29:50 2002
-+++ php-4.3.0/ext/msession/msession.c Tue Jan 7 12:46:50 2003
-@@ -188,6 +188,9 @@
-
- PHP_MSHUTDOWN_FUNCTION(msession)
- {
-+#ifdef HAVE_PHP_SESSION
-+ php_session_unregister_module("msession");
-+#endif
- return SUCCESS;
- }
-
+++ /dev/null
-diff -burN php-4.3.3RC2.orig/Makefile.global php-4.3.3RC2-shared/Makefile.global
---- php-4.3.3RC2.orig/Makefile.global Thu Jul 24 19:45:15 2003
-+++ php-4.3.3RC2-shared/Makefile.global Sat Aug 2 22:53:18 2003
-@@ -14,9 +14,11 @@
-
- build-modules: $(PHP_MODULES)
-
--libphp4.la: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
-- $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -rpath $(phptempdir) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS) $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@
-- -@$(LIBTOOL) --silent --mode=install cp libphp4.la $(phptempdir)/libphp4.la >/dev/null 2>&1
-+libphp_common.la: $(PHP_GLOBAL_OBJS)
-+ $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -rpath $(phptempdir) -avoid-version $(LDFLAGS) $(PHP_RPATHS) $(PHP_GLOBAL_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ -release $(PHP_VERSION)
-+
-+libphp4.la: libphp_common.la $(PHP_SAPI_OBJS)
-+ $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -rpath $(phptempdir) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS) libphp_common.la $(PHP_SAPI_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@
-
- libs/libphp4.bundle: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
- $(CC) $(MH_BUNDLE_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(PHP_GLOBAL_OBJS:.lo=.o) $(PHP_SAPI_OBJS:.lo=.o) $(PHP_FRAMEWORKS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ && cp $@ libs/libphp4.so
-@@ -25,11 +27,13 @@
-
- install-sapi: $(OVERALL_TARGET)
- @echo "Installing PHP SAPI module: $(PHP_SAPI)"
-+ -@$(LIBTOOL) --silent --mode=install cp libphp_common.la $(phptempdir)/libphp_common.la >/dev/null 2>&1
-+ -@$(LIBTOOL) --silent --mode=install cp libphp4.la $(phptempdir)/libphp4.la >/dev/null 2>&1
- -@$(mkinstalldirs) $(INSTALL_ROOT)$(bindir)
-- -@if test ! -r $(phptempdir)/libphp4.$(SHLIB_SUFFIX_NAME); then \
-+ -@if test ! -r $(phptempdir)/libphp_common.$(SHLIB_SUFFIX_NAME); then \
- for i in 0.0.0 0.0 0; do \
-- if test -r $(phptempdir)/libphp4.$(SHLIB_SUFFIX_NAME).$$i; then \
-- $(LN_S) $(phptempdir)/libphp4.$(SHLIB_SUFFIX_NAME).$$i $(phptempdir)/libphp4.$(SHLIB_SUFFIX_NAME); \
-+ if test -r $(phptempdir)/libphp_common.$(SHLIB_SUFFIX_NAME).$$i; then \
-+ $(LN_S) $(phptempdir)/libphp_common.$(SHLIB_SUFFIX_NAME).$$i $(phptempdir)/libphp_common.$(SHLIB_SUFFIX_NAME); \
- break; \
- fi; \
- done; \
-diff -burN php-4.3.3RC2.orig/sapi/cgi/Makefile.frag php-4.3.3RC2-shared/sapi/cgi/Makefile.frag
---- php-4.3.3RC2.orig/sapi/cgi/Makefile.frag Wed Jul 2 03:06:29 2003
-+++ php-4.3.3RC2-shared/sapi/cgi/Makefile.frag Sat Aug 2 22:53:38 2003
-@@ -1,2 +1,2 @@
--$(SAPI_CGI_PATH): $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
-+$(SAPI_CGI_PATH): libphp_common.la $(PHP_SAPI_OBJS)
- $(BUILD_CGI)
-diff -burN php-4.3.3RC2.orig/sapi/cgi/config9.m4 php-4.3.3RC2-shared/sapi/cgi/config9.m4
---- php-4.3.3RC2.orig/sapi/cgi/config9.m4 Wed Jul 2 04:48:16 2003
-+++ php-4.3.3RC2-shared/sapi/cgi/config9.m4 Sat Aug 2 22:54:51 2003
-@@ -156,7 +156,7 @@
- BUILD_CGI="\$(CC) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_SAPI_OBJS:.lo=.o) \$(PHP_FRAMEWORKS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CGI_PATH)"
- ;;
- *)
-- BUILD_CGI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_SAPI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CGI_PATH)"
-+ BUILD_CGI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) libphp_common.la \$(PHP_SAPI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CGI_PATH)"
- ;;
- esac
-
-diff -burN php-4.3.3RC2.orig/sapi/cli/Makefile.frag php-4.3.3RC2-shared/sapi/cli/Makefile.frag
---- php-4.3.3RC2.orig/sapi/cli/Makefile.frag Wed Feb 12 05:39:30 2003
-+++ php-4.3.3RC2-shared/sapi/cli/Makefile.frag Sat Aug 2 22:53:53 2003
-@@ -1,4 +1,4 @@
--$(SAPI_CLI_PATH): $(PHP_GLOBAL_OBJS) $(PHP_CLI_OBJS)
-+$(SAPI_CLI_PATH): libphp_common.la $(PHP_CLI_OBJS)
- $(BUILD_CLI)
-
- install-cli: $(SAPI_CLI_PATH)
-diff -burN php-4.3.3RC2.orig/sapi/cli/config.m4 php-4.3.3RC2-shared/sapi/cli/config.m4
---- php-4.3.3RC2.orig/sapi/cli/config.m4 Wed Feb 12 05:39:30 2003
-+++ php-4.3.3RC2-shared/sapi/cli/config.m4 Sat Aug 2 22:55:15 2003
-@@ -27,7 +27,7 @@
- BUILD_CLI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_CLI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CLI_PATH)"
- ;;
- *)
-- BUILD_CLI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_CLI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CLI_PATH)"
-+ BUILD_CLI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) libphp_common.la \$(PHP_CLI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CLI_PATH)"
- ;;
- esac
- INSTALL_CLI="\$(mkinstalldirs) \$(INSTALL_ROOT)\$(bindir); \$(INSTALL) -m 0755 \$(SAPI_CLI_PATH) \$(INSTALL_ROOT)\$(bindir)/php"
+++ /dev/null
---- php-4.3.3RC3/ext/sybase/config.m4.orig 2002-03-12 17:36:10.000000000 +0100
-+++ php-4.3.3RC3/ext/sybase/config.m4 2003-08-16 16:11:52.854216712 +0200
-@@ -18,6 +18,7 @@
- PHP_ADD_INCLUDE($SYBASE_INCDIR)
- PHP_ADD_LIBRARY_WITH_PATH(sybdb, $SYBASE_LIBDIR, SYBASE_SHARED_LIBADD)
- PHP_NEW_EXTENSION(sybase, php_sybase_db.c, $ext_shared)
-+ PHP_SUBST(SYBASE_SHARED_LIBADD)
- AC_CHECK_LIB(dnet_stub, dnet_addr,
- [ PHP_ADD_LIBRARY_WITH_PATH(dnet_stub,,SYBASE_SHARED_LIBADD)
- AC_DEFINE(HAVE_LIBDNET_STUB,1,[ ])
+++ /dev/null
---- php-4.3.1/TSRM/threads.m4.orig Wed Feb 19 15:57:09 2003
-+++ php-4.3.1/TSRM/threads.m4 Wed Feb 19 15:57:42 2003
-@@ -108,7 +108,6 @@
- else
- save_CFLAGS=$CFLAGS
- save_LIBS=$LIBS
-- PTHREADS_ASSIGN_VARS
- PTHREADS_CHECK_COMPILE
- LIBS=$save_LIBS
- CFLAGS=$save_CFLAGS
-@@ -126,9 +125,10 @@
- break
- fi
- done
-+ pthreads_working=
- fi
--fi
- ])
-+fi
-
- AC_CACHE_CHECK(for pthreads_lib, ac_cv_pthreads_lib,[
- ac_cv_pthreads_lib=
-@@ -155,6 +155,7 @@
- dnl
- dnl
- AC_DEFUN(PTHREADS_ASSIGN_VARS,[
-+if test "$pthreads_assign_done" != "yes" ; then
- if test -n "$ac_cv_pthreads_lib"; then
- LIBS="$LIBS -l$ac_cv_pthreads_lib"
- fi
-@@ -163,4 +164,6 @@
- if test -n "$ac_cv_pthreads_cflags"; then
- CFLAGS="$CFLAGS $ac_cv_pthreads_cflags"
- fi
-+pthreads_assign_done="yes"
-+fi
- ])dnl
---- php-4.3.4/TSRM/tsrm.m4.orig 2003-10-03 07:25:30.000000000 +0200
-+++ php-4.3.4/TSRM/tsrm.m4 2003-12-16 23:36:50.274455176 +0100
-@@ -68,7 +68,6 @@
- ])
-
- sinclude(threads.m4)
--sinclude(TSRM/threads.m4)
-
- AC_DEFUN(TSRM_CHECK_PTHREADS,[
-
---- php-4.3.4/configure.in.orig 2003-12-16 23:38:01.000000000 +0100
-+++ php-4.3.4/configure.in 2003-12-16 23:41:38.479641328 +0100
-@@ -204,6 +204,7 @@
-
- sinclude(Zend/acinclude.m4)
- sinclude(Zend/Zend.m4)
-+sinclude(TSRM/threads.m4)
- sinclude(TSRM/tsrm.m4)
-
-
+++ /dev/null
---- php-4.3.1/ext/standard/mail.c~ Mon Feb 24 10:53:36 2003
-+++ php-4.3.1/ext/standard/mail.c Mon Feb 24 10:58:35 2003
-@@ -201,7 +201,7 @@
- return 0;
- }
- #endif
-- TSRMLS_FETCH();
-+ {TSRMLS_FETCH();}
-
- if ((to != NULL) && (strlen(to)!=0)) {
- fprintf(sendmail, "To: %s\n", to);
+++ /dev/null
-diff -ur php-4.3.4/sapi/apache/mod_php4.c php-4.3.5RC2/sapi/apache/mod_php4.c
---- php-4.3.4/sapi/apache/mod_php4.c Tue Jun 3 07:41:49 2003
-+++ php-4.3.5RC2/sapi/apache/mod_php4.c Wed Jan 28 18:42:20 2004
-@@ -830,6 +830,9 @@
- }
- if(!AP(xbithack)) {
- r->allowed |= (1 << METHODS) - 1;
-+ zend_try {
-+ zend_ini_deactivate(TSRMLS_C);
-+ } zend_end_try();
- return DECLINED;
- }
- return send_parsed_php(r);
+++ /dev/null
---- php-4.3.0/ext/wddx/config.m4.orig Tue Mar 12 17:37:42 2002
-+++ php-4.3.0/ext/wddx/config.m4 Thu Jan 2 21:00:50 2003
-@@ -12,4 +12,6 @@
- fi
- AC_DEFINE(HAVE_WDDX, 1, [ ])
- PHP_NEW_EXTENSION(wddx, wddx.c, $ext_shared)
-+ WDDX_SHARED_LIBADD="-lexpat"
-+ PHP_SUBST(WDDX_SHARED_LIBADD)
- fi
+++ /dev/null
---- php-4.3.0/ext/xml/config.m4.orig Thu Nov 7 20:31:08 2002
-+++ php-4.3.0/ext/xml/config.m4 Thu Jan 2 19:54:39 2003
-@@ -27,7 +27,7 @@
- else
- PHP_NEW_EXTENSION(xml, xml.c, $ext_shared)
-
-- for i in $PHP_XML $PHP_EXPAT_DIR; do
-+ for i in /usr /usr/local $PHP_XML `echo $PHP_EXPAT_DIR | sed -e s/shared,//` ; do
- if test -f $i/lib/libexpat.a -o -f $i/lib/libexpat.$SHLIB_SUFFIX_NAME ; then
- EXPAT_DIR=$i
- fi
+++ /dev/null
-include $(top_builddir)/config_vars.mk
-LTLIBRARY_OBJECTS = $(LTLIBRARY_SOURCES:.c=.lo) $(LTLIBRARY_OBJECTS_X)
-LTLIBRARY_SHARED_OBJECTS = $(LTLIBRARY_OBJECTS:.lo=.slo)
-$(LTLIBRARY_NAME): $(LTLIBRARY_OBJECTS) $(LTLIBRARY_DEPENDENCIES)
- $(LINK) $(LTLIBRARY_LDFLAGS) $(LTLIBRARY_OBJECTS) $(LTLIBRARY_LIBADD)
-$(LTLIBRARY_SHARED_NAME): $(LTLIBRARY_SHARED_OBJECTS) $(LTLIBRARY_DEPENDENCIES)
- $(SHARED_LIBTOOL) --mode=link $(COMPILE) $(LDFLAGS) -o $@ -avoid-version -module -rpath $(phplibdir) $(LTLIBRARY_LDFLAGS) $(LTLIBRARY_OBJECTS) $(LTLIBRARY_SHARED_LIBADD)
- $(SHARED_LIBTOOL) --mode=install cp $@ $(phplibdir)
-
-targets = $(LTLIBRARY_NAME) $(LTLIBRARY_SHARED_NAME)
-
+++ /dev/null
---- php-4.3.0/ext/xmlrpc/config.m4.orig Wed Sep 4 20:47:25 2002
-+++ php-4.3.0/ext/xmlrpc/config.m4 Thu Jan 2 21:29:53 2003
-@@ -85,6 +85,8 @@
- AC_MSG_ERROR(Please reinstall the XMLRPC-EPI distribution)
- fi
-
-+ PHP_NEW_EXTENSION(xmlrpc,xmlrpc-epi-php.c,$ext_shared)
-+ XMLRPC_MODULE_TYPE=external
- PHP_ADD_INCLUDE($XMLRPC_DIR)
- PHP_ADD_LIBRARY_WITH_PATH(xmlrpc, $XMLRPC_DIR/lib, XMLRPC_SHARED_LIBADD)
-
+++ /dev/null
---- php-4.3.2/ext/xslt/config.m4.orig Wed Apr 23 08:55:00 2003
-+++ php-4.3.2/ext/xslt/config.m4 Fri Jun 13 13:08:17 2003
-@@ -66,7 +66,7 @@
- SABINF_CFLAGS=`$XSLT_DIR/bin/sablot-config --cflags`
- SABINF_LIBS=`$XSLT_DIR/bin/sablot-config --libs`
- SABINF_PREFIX=`$XSLT_DIR/bin/sablot-config --prefix`
-- SABINF_ALL="\"Cflags: $SABINF_CFLAGS\nLibs: $SABINF_LIBS\nPrefix: $SABINF_PREFIX\""
-+ SABINF_ALL="\"Cflags: $SABINF_CFLAGS\\\\nLibs: $SABINF_LIBS\\\\nPrefix: $SABINF_PREFIX\""
- PHP_DEFINE(SAB_INFO, "$SABINF_ALL")
- else
- AC_MSG_RESULT(not found)
+++ /dev/null
---- php/ext/zlib/zlib.c.orig Wed Jul 2 12:30:43 2003
-+++ php/ext/zlib/zlib.c Wed Jul 2 13:23:07 2003
-@@ -1010,6 +1010,8 @@
- /* return the original string */
- *return_value = **zv_string;
- zval_copy_ctor(return_value);
-+ } else {
-+ SG(sapi_headers).send_default_content_type = 0;
- }
- }
- /* }}} */
-@@ -1055,6 +1055,11 @@
- php_ob_set_internal_handler(php_gzip_output_handler, (uint)buffer_size, "zlib output compression", 0 TSRMLS_CC);
- if (ZLIBG(output_handler) && strlen(ZLIBG(output_handler))) {
- php_start_ob_buffer_named(ZLIBG(output_handler), 0, 1 TSRMLS_CC);
-+ if (sapi_add_header("Content-Encoding: gzip", sizeof("Content-Encoding: gzip") - 1, 1)!=FAILURE) {
-+ if (sapi_add_header("Vary: Accept-Encoding", sizeof("Vary: Accept-Encoding") - 1, 1)==FAILURE) {
-+ SG(sapi_headers).send_default_content_type = 0;
-+ }
-+ }
- }
- return SUCCESS;
- }