summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.in6
-rw-r--r--ext/bz2/CREDITS2
-rw-r--r--ext/bz2/bz2.c529
-rw-r--r--ext/bz2/bz2.dsp108
-rw-r--r--ext/bz2/config.m433
-rw-r--r--ext/bz2/package.xml35
-rw-r--r--ext/bz2/php_bz2.h72
-rw-r--r--ext/bz2/tests/with_files.phpt25
-rw-r--r--ext/bz2/tests/with_strings.phpt29
-rw-r--r--ext/dba/dba_inifile.c186
-rw-r--r--ext/dba/libinifile/inifile.c598
-rw-r--r--ext/dba/libinifile/inifile.h67
-rw-r--r--ext/dba/php_inifile.h12
-rw-r--r--ext/dba/tests/dba_inifile.phpt29
-rw-r--r--ext/sqlite/CREDITS2
-rw-r--r--ext/sqlite/README14
-rw-r--r--ext/sqlite/TODO22
-rw-r--r--ext/sqlite/libsqlite/README37
-rw-r--r--ext/sqlite/libsqlite/src/sqlite_config.w32.h8
-rw-r--r--ext/sqlite/sqlite.php33
-rw-r--r--ext/sqlite/tests/blankdb.inc11
-rwxr-xr-xext/sqlite/tests/sqlite_001.phpt17
-rwxr-xr-xext/sqlite/tests/sqlite_002.phpt31
-rwxr-xr-xext/sqlite/tests/sqlite_003.phpt51
-rw-r--r--ext/sqlite/tests/sqlite_004.phpt46
-rw-r--r--ext/sqlite/tests/sqlite_005.phpt47
-rw-r--r--ext/sqlite/tests/sqlite_006.phpt52
-rwxr-xr-xext/sqlite/tests/sqlite_007.phpt51
-rwxr-xr-xext/sqlite/tests/sqlite_008.phpt43
-rwxr-xr-xext/sqlite/tests/sqlite_009.phpt43
-rwxr-xr-xext/sqlite/tests/sqlite_010.phpt78
-rwxr-xr-xext/sqlite/tests/sqlite_011.phpt27
-rwxr-xr-xext/sqlite/tests/sqlite_012.phpt35
-rw-r--r--main/php_version.h6
-rw-r--r--tests/lang/bug17115.phpt16
35 files changed, 6 insertions, 2395 deletions
diff --git a/configure.in b/configure.in
index d235f9ca42..290a46778e 100644
--- a/configure.in
+++ b/configure.in
@@ -40,8 +40,8 @@ AC_CONFIG_HEADER(main/php_config.h)
MAJOR_VERSION=4
MINOR_VERSION=3
-RELEASE_VERSION=3
-EXTRA_VERSION="-dev"
+RELEASE_VERSION=2
+EXTRA_VERSION="RC4"
VERSION="$MAJOR_VERSION.$MINOR_VERSION.$RELEASE_VERSION$EXTRA_VERSION"
dnl Define where extension directories are located in the configure context
@@ -1275,7 +1275,7 @@ cat <<X
| *** WARNING *** |
| |
| You chose to compile PHP with DB extension. This extension is |
-| deprecated and does not support database locking correctly. Please |
+| deprecated and does not support databse locking correctly. Please |
| use DBA extension which is a fully operational superset. |
X
fi
diff --git a/ext/bz2/CREDITS b/ext/bz2/CREDITS
deleted file mode 100644
index 67dff9f41d..0000000000
--- a/ext/bz2/CREDITS
+++ /dev/null
@@ -1,2 +0,0 @@
-Bzip2
-Sterling Hughes
diff --git a/ext/bz2/bz2.c b/ext/bz2/bz2.c
deleted file mode 100644
index 7618ef0cc9..0000000000
--- a/ext/bz2/bz2.c
+++ /dev/null
@@ -1,529 +0,0 @@
-/*
- +----------------------------------------------------------------------+
- | PHP version 4.0 |
- +----------------------------------------------------------------------+
- | Copyright (c) 1997-2003 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 |
- | available at through the world-wide-web at |
- | http://www.php.net/license/2_02.txt. |
- | If you did not receive a copy of the PHP license and are unable to |
- | obtain it through the world-wide-web, please send a note to |
- | license@php.net so we can mail you a copy immediately. |
- +----------------------------------------------------------------------+
- | Author: Sterling Hughes <sterling@php.net> |
- +----------------------------------------------------------------------+
- */
-
-/* $Id$ */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "php.h"
-#include "php_bz2.h"
-
-#if HAVE_BZ2
-
-/* PHP Includes */
-#include "ext/standard/file.h"
-#include "ext/standard/info.h"
-#include "ext/standard/php_string.h"
-
-/* for fileno() */
-#include <stdio.h>
-
-/* Internal error constants */
-#define PHP_BZ_ERRNO 0
-#define PHP_BZ_ERRSTR 1
-#define PHP_BZ_ERRBOTH 2
-
-/* Blocksize of the decompression buffer */
-#define PHP_BZ_DECOMPRESS_SIZE 4096
-
-function_entry bz2_functions[] = {
- PHP_FE(bzopen, NULL)
- PHP_FE(bzread, NULL)
- PHP_FALIAS(bzwrite, fwrite, NULL)
- PHP_FALIAS(bzflush, fflush, NULL)
- PHP_FALIAS(bzclose, fclose, NULL)
- PHP_FE(bzerrno, NULL)
- PHP_FE(bzerrstr, NULL)
- PHP_FE(bzerror, NULL)
- PHP_FE(bzcompress, NULL)
- PHP_FE(bzdecompress, NULL)
- {NULL, NULL, NULL}
-};
-
-zend_module_entry bz2_module_entry = {
- STANDARD_MODULE_HEADER,
- "bz2",
- bz2_functions,
- PHP_MINIT(bz2),
- PHP_MSHUTDOWN(bz2),
- NULL,
- NULL,
- PHP_MINFO(bz2),
- NO_VERSION_YET,
- STANDARD_MODULE_PROPERTIES
-};
-
-#ifdef COMPILE_DL_BZ2
-ZEND_GET_MODULE(bz2)
-#endif
-
-struct php_bz2_stream_data_t {
- BZFILE *bz_file;
- php_stream *stream;
-};
-
-/* {{{ BZip2 stream implementation */
-
-static size_t php_bz2iop_read(php_stream *stream, char *buf, size_t count TSRMLS_DC)
-{
- struct php_bz2_stream_data_t *self = (struct php_bz2_stream_data_t *) stream->abstract;
- size_t ret;
-
- ret = BZ2_bzread(self->bz_file, buf, count);
-
- if (ret == 0) {
- stream->eof = 1;
- }
-
- return ret;
-}
-
-static size_t php_bz2iop_write(php_stream *stream, const char *buf, size_t count TSRMLS_DC)
-{
- struct php_bz2_stream_data_t *self = (struct php_bz2_stream_data_t *) stream->abstract;
-
- return BZ2_bzwrite(self->bz_file, (char*)buf, count);
-}
-
-static int php_bz2iop_close(php_stream *stream, int close_handle TSRMLS_DC)
-{
- struct php_bz2_stream_data_t *self = (struct php_bz2_stream_data_t *)stream->abstract;
- int ret = EOF;
-
- if (close_handle) {
- BZ2_bzclose(self->bz_file);
- }
-
- if (self->stream) {
- php_stream_free(self->stream, PHP_STREAM_FREE_CLOSE | (close_handle == 0 ? PHP_STREAM_FREE_PRESERVE_HANDLE : 0));
- }
-
- efree(self);
-
- return ret;
-}
-
-static int php_bz2iop_flush(php_stream *stream TSRMLS_DC)
-{
- struct php_bz2_stream_data_t *self = (struct php_bz2_stream_data_t *)stream->abstract;
- return BZ2_bzflush(self->bz_file);
-}
-/* }}} */
-
-php_stream_ops php_stream_bz2io_ops = {
- php_bz2iop_write, php_bz2iop_read,
- php_bz2iop_close, php_bz2iop_flush,
- "BZip2",
- NULL, /* seek */
- NULL, /* cast */
- NULL, /* stat */
- NULL /* set_option */
-};
-
-/* {{{ Bzip2 stream openers */
-PHP_BZ2_API php_stream *_php_stream_bz2open_from_BZFILE(BZFILE *bz,
- char *mode, php_stream *innerstream STREAMS_DC TSRMLS_DC)
-{
- struct php_bz2_stream_data_t *self;
-
- self = emalloc(sizeof(*self));
-
- self->stream = innerstream;
- self->bz_file = bz;
-
- return php_stream_alloc_rel(&php_stream_bz2io_ops, self, 0, mode);
-}
-
-PHP_BZ2_API php_stream *_php_stream_bz2open(php_stream_wrapper *wrapper,
- char *path,
- char *mode,
- int options,
- char **opened_path,
- php_stream_context *context STREAMS_DC TSRMLS_DC)
-{
- php_stream *retstream = NULL, *stream = NULL;
- char *path_copy = NULL;
- BZFILE *bz_file = NULL;
-
- if (strncasecmp("compress.bzip2://", path, 17) == 0) {
- path += 17;
- }
-
-#ifdef VIRTUAL_DIR
- virtual_filepath(path, &path_copy TSRMLS_CC);
-#else
- path_copy = path;
-#endif
-
- /* try and open it directly first */
- bz_file = BZ2_bzopen(path_copy, mode);
-
- if (opened_path && bz_file) {
- *opened_path = estrdup(path_copy);
- }
- path_copy = NULL;
-
- if (bz_file == NULL) {
- /* that didn't work, so try and get something from the network/wrapper */
- stream = php_stream_open_wrapper(path, mode, options, opened_path);
-
- if (stream) {
- int fd;
- if (SUCCESS == php_stream_cast(stream, PHP_STREAM_AS_FD, (void **) &fd, REPORT_ERRORS)) {
- bz_file = BZ2_bzdopen(fd, mode);
- }
- }
- }
-
- if (bz_file) {
- retstream = _php_stream_bz2open_from_BZFILE(bz_file, mode, stream STREAMS_REL_CC TSRMLS_CC);
- if (retstream) {
- return retstream;
- }
-
- BZ2_bzclose(bz_file);
- }
-
- if (stream) {
- php_stream_close(stream);
- }
-
- return NULL;
-}
-
-/* }}} */
-
-static php_stream_wrapper_ops bzip2_stream_wops = {
- _php_stream_bz2open,
- NULL, /* close */
- NULL, /* fstat */
- NULL, /* stat */
- NULL, /* opendir */
- "BZip2",
- NULL /* unlink */
-};
-
-php_stream_wrapper php_stream_bzip2_wrapper = {
- &bzip2_stream_wops,
- NULL,
- 0 /* is_url */
-};
-
-static void php_bz2_error(INTERNAL_FUNCTION_PARAMETERS, int);
-
-PHP_MINIT_FUNCTION(bz2)
-{
- php_register_url_stream_wrapper("compress.bzip2", &php_stream_bzip2_wrapper TSRMLS_CC);
-
- return SUCCESS;
-}
-
-PHP_MSHUTDOWN_FUNCTION(bz2)
-{
- php_unregister_url_stream_wrapper("compress.bzip2" TSRMLS_CC);
-
- return SUCCESS;
-}
-
-PHP_MINFO_FUNCTION(bz2)
-{
- php_info_print_table_start();
- php_info_print_table_row(2, "BZip2 Support", "Enabled");
- php_info_print_table_row(2, "BZip2 Version", (char *) BZ2_bzlibVersion());
- php_info_print_table_end();
-}
-
-/* {{{ proto string bzread(int bz[, int length])
- Reads up to length bytes from a BZip2 stream, or 1024 bytes if length is not specified */
-PHP_FUNCTION(bzread)
-{
- zval *bz;
- long len = 1024;
- php_stream *stream;
-
- if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r|l", &bz, &len)) {
- RETURN_FALSE;
- }
-
- php_stream_from_zval(stream, &bz);
-
- if (len < 0) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "length may not be negative");
- RETURN_FALSE;
- }
-
- Z_STRVAL_P(return_value) = emalloc(len + 1);
- Z_STRLEN_P(return_value) = php_stream_read(stream, Z_STRVAL_P(return_value), len);
-
- if (Z_STRLEN_P(return_value) < 0) {
- efree(Z_STRVAL_P(return_value));
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "could not read valid bz2 data from stream");
- RETURN_FALSE;
- }
-
- Z_STRVAL_P(return_value)[Z_STRLEN_P(return_value)] = 0;
-
- if (PG(magic_quotes_runtime)) {
- Z_STRVAL_P(return_value) = php_addslashes( Z_STRVAL_P(return_value),
- Z_STRLEN_P(return_value),
- &Z_STRLEN_P(return_value), 1 TSRMLS_CC);
- }
-
- Z_TYPE_P(return_value) = IS_STRING;
-}
-/* }}} */
-
-/* {{{ proto resource bzopen(string|int file|fp, string mode)
- Opens a new BZip2 stream */
-PHP_FUNCTION(bzopen)
-{
- zval **file, /* The file to open */
- **mode; /* The mode to open the stream with */
- BZFILE *bz; /* The compressed file stream */
- php_stream *stream = NULL;
-
- if (ZEND_NUM_ARGS() != 2 || zend_get_parameters_ex(2, &file, &mode) == FAILURE) {
- WRONG_PARAM_COUNT;
- }
- convert_to_string_ex(mode);
-
- /* If it's not a resource its a string containing the filename to open */
- if (Z_TYPE_PP(file) != IS_RESOURCE) {
- convert_to_string_ex(file);
- stream = php_stream_bz2open(NULL,
- Z_STRVAL_PP(file),
- Z_STRVAL_PP(mode),
- ENFORCE_SAFE_MODE | REPORT_ERRORS,
- NULL);
- } else {
- /* If it is a resource, than its a stream resource */
- int fd;
-
- php_stream_from_zval(stream, file);
-
- if (FAILURE == php_stream_cast(stream, PHP_STREAM_AS_FD, (void *) &fd, REPORT_ERRORS)) {
- RETURN_FALSE;
- }
-
- bz = BZ2_bzdopen(fd, Z_STRVAL_PP(mode));
-
- stream = php_stream_bz2open_from_BZFILE(bz, Z_STRVAL_PP(mode), stream);
- }
-
- if (stream) {
- php_stream_to_zval(stream, return_value);
- } else {
- RETURN_FALSE;
- }
-}
-/* }}} */
-
-/* {{{ proto int bzerrno(resource bz)
- Returns the error number */
-PHP_FUNCTION(bzerrno)
-{
- php_bz2_error(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_BZ_ERRNO);
-}
-/* }}} */
-
-/* {{{ proto string bzerrstr(resource bz)
- Returns the error string */
-PHP_FUNCTION(bzerrstr)
-{
- php_bz2_error(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_BZ_ERRSTR);
-}
-/* }}} */
-
-/* {{{ proto array bzerror(resource bz)
- Returns the error number and error string in an associative array */
-PHP_FUNCTION(bzerror)
-{
- php_bz2_error(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_BZ_ERRBOTH);
-}
-/* }}} */
-
-/* {{{ proto string bzcompress(string source [, int blocksize100k [, int workfactor]])
- Compresses a string into BZip2 encoded data */
-PHP_FUNCTION(bzcompress)
-{
- zval **source, /* Source data to compress */
- **zblock_size, /* Optional block size to use */
- **zwork_factor; /* Optional work factor to use */
- char *dest = NULL; /* Destination to place the compressed data into */
- int error, /* Error Container */
- block_size = 4, /* Block size for compression algorithm */
- work_factor = 0, /* Work factor for compression algorithm */
- argc; /* Argument count */
- unsigned int source_len, /* Length of the source data */
- dest_len; /* Length of the destination buffer */
-
- argc = ZEND_NUM_ARGS();
-
- if (argc < 1 || argc > 3 || zend_get_parameters_ex(argc, &source, &zblock_size, &zwork_factor) == FAILURE) {
- WRONG_PARAM_COUNT;
- }
-
- convert_to_string_ex(source);
-
- /* Assign them to easy to use variables, dest_len is initially the length of the data
- + .01 x length of data + 600 which is the largest size the results of the compression
- could possibly be, at least that's what the libbz2 docs say (thanks to jeremy@nirvani.net
- for pointing this out). */
- source_len = Z_STRLEN_PP(source);
- dest_len = Z_STRLEN_PP(source) + (0.01 * Z_STRLEN_PP(source)) + 600;
-
- /* Allocate the destination buffer */
- dest = emalloc(dest_len + 1);
-
- /* Handle the optional arguments */
- if (argc > 1) {
- convert_to_long_ex(zblock_size);
- block_size = Z_LVAL_PP(zblock_size);
- }
-
- if (argc > 2) {
- convert_to_long_ex(zwork_factor);
- work_factor = Z_LVAL_PP(zwork_factor);
- }
-
- error = BZ2_bzBuffToBuffCompress(dest, &dest_len, Z_STRVAL_PP(source), source_len, block_size, 0, work_factor);
- if (error != BZ_OK) {
- efree(dest);
- RETURN_LONG(error);
- } else {
- /* Copy the buffer, we have perhaps allocate alot more than we need,
- so we erealloc() the buffer to the proper size */
- dest = erealloc(dest, dest_len + 1);
- dest[dest_len] = 0;
- RETURN_STRINGL(dest, dest_len, 0);
- }
-}
-/* }}} */
-
-/* {{{ proto string bzdecompress(string source [, int small])
- Decompresses BZip2 compressed data */
-PHP_FUNCTION(bzdecompress)
-{
- zval **source, /* Source data to decompress */
- **zsmall; /* (Optional) user specified small */
- char *dest; /* Destination buffer, initially allocated */
- int error, /* Error container */
- iter = 1, /* Iteration count for the compression loop */
- size, /* Current size to realloc the dest buffer to */
- dest_len = PHP_BZ_DECOMPRESS_SIZE, /* Size of the destination length */
- small = 0, /* The actual small */
- argc = ZEND_NUM_ARGS(); /* Argument count */
-
- if (argc < 1 || argc > 2 || zend_get_parameters_ex(argc, &source, &zsmall) == FAILURE) {
- WRONG_PARAM_COUNT;
- }
-
- convert_to_string_ex(source);
-
- /* optional small argument handling */
- if (argc > 1) {
- convert_to_long_ex(zsmall);
- small = Z_LVAL_PP(zsmall);
- }
-
- /* Depending on the size of the source buffer, either allocate
- the length of the source buffer or the a default decompression
- size */
- dest = emalloc(PHP_BZ_DECOMPRESS_SIZE > Z_STRLEN_PP(source) ? PHP_BZ_DECOMPRESS_SIZE : Z_STRLEN_PP(source));
-
- /* (de)Compression Loop */
- do {
- /* Handle the (re)allocation of the buffer */
- size = dest_len * iter;
- if (iter > 1) {
- dest = erealloc(dest, size);
- }
- ++iter;
-
- /* Perform the decompression */
- error = BZ2_bzBuffToBuffDecompress(dest, &size, Z_STRVAL_PP(source), Z_STRLEN_PP(source), small, 0);
- } while (error == BZ_OUTBUFF_FULL);
-
- if (error != BZ_OK) {
- efree(dest);
- RETURN_LONG(error);
- } else {
- /* we might have allocated a little to much, so erealloc the buffer
- down to size, before returning it */
- dest = erealloc(dest, size + 1);
- dest[size] = 0;
- RETURN_STRINGL(dest, size, 0);
- }
-}
-/* }}} */
-
-/* {{{ php_bz2_error()
- The central error handling interface, does the work for bzerrno, bzerrstr and bzerror */
-static void php_bz2_error(INTERNAL_FUNCTION_PARAMETERS, int opt)
-{
- zval **bzp; /* BZip2 Resource Pointer */
- php_stream *stream;
- const char *errstr; /* Error string */
- int errnum; /* Error number */
- struct php_bz2_stream_data_t *self;
-
- if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &bzp) == FAILURE) {
- WRONG_PARAM_COUNT;
- }
-
- php_stream_from_zval(stream, bzp);
-
- if (!php_stream_is(stream, PHP_STREAM_IS_BZIP2)) {
- RETURN_FALSE;
- }
-
- self = (struct php_bz2_stream_data_t *) stream->abstract;
-
- /* Fetch the error information */
- errstr = BZ2_bzerror(self->bz_file, &errnum);
-
- /* Determine what to return */
- switch (opt) {
- case PHP_BZ_ERRNO:
- RETURN_LONG(errnum);
- break;
- case PHP_BZ_ERRSTR:
- RETURN_STRING((char*)errstr, 1);
- break;
- case PHP_BZ_ERRBOTH:
- array_init(return_value);
-
- add_assoc_long (return_value, "errno", errnum);
- add_assoc_string(return_value, "errstr", (char*)errstr, 1);
- break;
- }
-}
-/* }}} */
-
-#endif
-
-/*
- * Local variables:
- * tab-width: 4
- * c-basic-offset: 4
- * End:
- * vim600: fdm=marker
- * vim: noet sw=4 ts=4
- */
diff --git a/ext/bz2/bz2.dsp b/ext/bz2/bz2.dsp
deleted file mode 100644
index 00ef626a42..0000000000
--- a/ext/bz2/bz2.dsp
+++ /dev/null
@@ -1,108 +0,0 @@
-# Microsoft Developer Studio Project File - Name="bz2" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=bz2 - Win32 Debug_TS
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "bz2.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "bz2.mak" CFG="bz2 - Win32 Debug_TS"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "bz2 - Win32 Release_TS" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "bz2 - Win32 Debug_TS" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "bz2 - Win32 Release_TS"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release_TS"
-# PROP BASE Intermediate_Dir "Release_TS"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release_TS"
-# PROP Intermediate_Dir "Release_TS"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "BZ2_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\.." /I "..\..\main" /I "..\..\Zend" /I "..\..\TSRM" /I "..\..\..\php_build\includes" /D ZEND_DEBUG=0 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "COMPILE_DL_BZ2" /D ZTS=1 /D "ZEND_WIN32" /D "PHP_WIN32" /D HAVE_BZ2=1 /D "PHP_BZ2_EXPORTS" /FR /YX /FD /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x407 /d "NDEBUG"
-# ADD RSC /l 0x407 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 libbz2.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib php4ts.lib /nologo /dll /machine:I386 /out:"..\..\Release_TS/php_bz2.dll" /libpath:"..\..\Release_TS" /libpath:"..\..\Release_TS_Inline" /libpath:"..\..\..\php_build\release"
-
-!ELSEIF "$(CFG)" == "bz2 - Win32 Debug_TS"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug_TS"
-# PROP BASE Intermediate_Dir "Debug_TS"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug_TS"
-# PROP Intermediate_Dir "Debug_TS"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "BZ2_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\.." /I "..\..\main" /I "..\..\Zend" /I "..\..\TSRM" /I "..\..\..\php_build\includes" /D ZEND_DEBUG=1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "COMPILE_DL_BZ2" /D ZTS=1 /D "ZEND_WIN32" /D "PHP_WIN32" /D HAVE_BZ2=1 /D "PHP_BZ2_EXPORTS" /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x407 /d "_DEBUG"
-# ADD RSC /l 0x407 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 php4ts_debug.lib libbz2.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /out:"..\..\Debug_TS/php_bz2.dll" /pdbtype:sept /libpath:"..\..\Debug_TS" /libpath:"..\..\..\php_build\release"
-
-!ENDIF
-
-# Begin Target
-
-# Name "bz2 - Win32 Release_TS"
-# Name "bz2 - Win32 Debug_TS"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\bz2.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\php_bz2.h
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/ext/bz2/config.m4 b/ext/bz2/config.m4
deleted file mode 100644
index b4ac1ee177..0000000000
--- a/ext/bz2/config.m4
+++ /dev/null
@@ -1,33 +0,0 @@
-dnl
-dnl $Id$
-dnl
-
-PHP_ARG_WITH(bz2, for BZip2 support,
-[ --with-bz2[=DIR] Include BZip2 support])
-
-if test "$PHP_BZ2" != "no"; then
- if test -r $PHP_BZ2/include/bzlib.h; then
- BZIP_DIR=$PHP_BZ2
- else
- AC_MSG_CHECKING(for BZip2 in default path)
- for i in /usr/local /usr; do
- if test -r $i/include/bzlib.h; then
- BZIP_DIR=$i
- AC_MSG_RESULT(found in $i)
- fi
- done
- fi
-
- if test -z "$BZIP_DIR"; then
- AC_MSG_RESULT(not found)
- AC_MSG_ERROR(Please reinstall the BZip2 distribution)
- fi
-
- PHP_ADD_INCLUDE($BZIP_DIR/include)
-
- PHP_SUBST(BZ2_SHARED_LIBADD)
- PHP_ADD_LIBRARY_WITH_PATH(bz2, $BZIP_DIR/lib, BZ2_SHARED_LIBADD)
- AC_CHECK_LIB(bz2, BZ2_bzerror, [AC_DEFINE(HAVE_BZ2,1,[ ])], [AC_MSG_ERROR(bz2 module requires libbz2 >= 1.0.0)],)
-
- PHP_NEW_EXTENSION(bz2, bz2.c, $ext_shared)
-fi
diff --git a/ext/bz2/package.xml b/ext/bz2/package.xml
deleted file mode 100644
index 7ad1bcfa5a..0000000000
--- a/ext/bz2/package.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!-- do not use the "Type" attribute here, that one is only for
- generated package.xml files -->
-<package>
- <name>bz2</name>
- <summary>A Bzip2 management extension</summary>
- <description>
-Bz2 is an extension to create and parse bzip2 compressed data.
- </description>
- <license>PHP License</license>
- <maintainers>
- <maintainer>
- <user>sterling</user>
- <name>Sterling Hughes</name>
- <email>sterling@php.net</email>
- </maintainer>
- </maintainers>
- <release>
- <version>1.0</version>
- <date>2003-05-17</date>
- <state>stable</state>
- <notes>
- Initial Release in PECL
- </notes>
- </release>
- <filelist>
- <dir role="src" name="/">
- <file role="doc">CREDITS</file>
- <file role="src">config.m4</file>
- <file role="doc">php_bz2.h</file>
- <file role="src">bz2.c</file>
- <file role="src">bz2.dsp</file>
- </dir>
- </filelist>
-</package>
diff --git a/ext/bz2/php_bz2.h b/ext/bz2/php_bz2.h
deleted file mode 100644
index 30383ed88c..0000000000
--- a/ext/bz2/php_bz2.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- +----------------------------------------------------------------------+
- | PHP Version 4 |
- +----------------------------------------------------------------------+
- | Copyright (c) 1997-2003 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 |
- | available at through the world-wide-web at |
- | http://www.php.net/license/2_02.txt. |
- | If you did not receive a copy of the PHP license and are unable to |
- | obtain it through the world-wide-web, please send a note to |
- | license@php.net so we can mail you a copy immediately. |
- +----------------------------------------------------------------------+
- | Author: Sterling Hughes <sterling@php.net> |
- +----------------------------------------------------------------------+
- */
-
-#ifndef PHP_BZ2_H
-#define PHP_BZ2_H
-
-#if HAVE_BZ2
-
-extern zend_module_entry bz2_module_entry;
-#define phpext_bz2_ptr &bz2_module_entry
-
-/* Bzip2 includes */
-#include <bzlib.h>
-
-PHP_MINIT_FUNCTION(bz2);
-PHP_MSHUTDOWN_FUNCTION(bz2);
-PHP_MINFO_FUNCTION(bz2);
-PHP_FUNCTION(bzopen);
-PHP_FUNCTION(bzread);
-PHP_FUNCTION(bzerrno);
-PHP_FUNCTION(bzerrstr);
-PHP_FUNCTION(bzerror);
-PHP_FUNCTION(bzcompress);
-PHP_FUNCTION(bzdecompress);
-
-#else
-#define phpext_bz2_ptr NULL
-#endif
-
-#ifdef PHP_WIN32
-# ifdef PHP_BZ2_EXPORTS
-# define PHP_BZ2_API __declspec(dllexport)
-# else
-# define PHP_BZ2_API __declspec(dllimport)
-# endif
-#else
-# define PHP_BZ2_API
-#endif
-
-PHP_BZ2_API PHPAPI php_stream *_php_stream_bz2open(php_stream_wrapper *wrapper, char *path, char *mode, int options, char **opened_path, php_stream_context *context STREAMS_DC TSRMLS_DC);
-PHP_BZ2_API PHPAPI php_stream *_php_stream_bz2open_from_BZFILE(BZFILE *bz, char *mode, php_stream *innerstream STREAMS_DC TSRMLS_DC);
-
-#define php_stream_bz2open_from_BZFILE(bz, mode, innerstream) _php_stream_bz2open_from_BZFILE((bz), (mode), (innerstream) STREAMS_CC TSRMLS_CC)
-#define php_stream_bz2open(wrapper, path, mode, options, opened_path) _php_stream_bz2open((wrapper), (path), (mode), (options), (opened_path), NULL STREAMS_CC TSRMLS_CC)
-
-php_stream_ops php_stream_bz2io_ops;
-#define PHP_STREAM_IS_BZIP2 &php_stream_bz2io_ops
-
-#endif
-
-
-/*
- * Local variables:
- * tab-width: 4
- * c-basic-offset: 4
- * End:
- */
diff --git a/ext/bz2/tests/with_files.phpt b/ext/bz2/tests/with_files.phpt
deleted file mode 100644
index cb98912d01..0000000000
--- a/ext/bz2/tests/with_files.phpt
+++ /dev/null
@@ -1,25 +0,0 @@
---TEST--
-BZ2 with files
---SKIPIF--
-<?php if (!extension_loaded("bz2")) print "skip"; ?>
---POST--
---GET--
---FILE--
-<?php // $Id$
-
-error_reporting(E_ALL);
-
-$filename = "testfile.bz2";
-$str = "This is a test string.\n";
-$bz = bzopen($filename, "w");
-bzwrite($bz, $str);
-bzclose($bz);
-
-$bz = bzopen($filename, "r");
-print bzread($bz, 10);
-print bzread($bz);
-bzclose($bz);
-unlink($filename);
-
---EXPECT--
-This is a test string.
diff --git a/ext/bz2/tests/with_strings.phpt b/ext/bz2/tests/with_strings.phpt
deleted file mode 100644
index 09f2291bb4..0000000000
--- a/ext/bz2/tests/with_strings.phpt
+++ /dev/null
@@ -1,29 +0,0 @@
---TEST--
-BZ2 with strings
---SKIPIF--
-<?php if (!extension_loaded("bz2")) print "skip"; ?>
---POST--
---GET--
---FILE--
-<?php // $Id$
-
-error_reporting(E_ALL);
-
-# This FAILS
-$blaat = <<<HEREDOC
-This is some random data
-HEREDOC;
-
-# This Works: (so, is heredoc related)
-#$blaat= 'This is some random data';
-
-$blaat2 = bzdecompress(bzcompress($blaat));
-
-$tests = <<<TESTS
- \$blaat === \$blaat2
-TESTS;
-
- include('tests/quicktester.inc');
-
---EXPECT--
-OK
diff --git a/ext/dba/dba_inifile.c b/ext/dba/dba_inifile.c
deleted file mode 100644
index 2a12179e78..0000000000
--- a/ext/dba/dba_inifile.c
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- +----------------------------------------------------------------------+
- | PHP Version 4 |
- +----------------------------------------------------------------------+
- | Copyright (c) 1997-2003 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 |
- | available at through the world-wide-web at |
- | http://www.php.net/license/2_02.txt. |
- | If you did not receive a copy of the PHP license and are unable to |
- | obtain it through the world-wide-web, please send a note to |
- | license@php.net so we can mail you a copy immediately. |
- +----------------------------------------------------------------------+
- | Author: Marcus Boerger <helly@php.net> |
- +----------------------------------------------------------------------+
- */
-
-/* $Id$ */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "php.h"
-
-#if DBA_INIFILE
-#include "php_inifile.h"
-
-#include "libinifile/inifile.h"
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-
-#define INIFILE_DATA \
- inifile *dba = info->dbf
-
-#define INIFILE_GKEY \
- key_type ini_key = inifile_key_split((char*)key) /* keylen not needed here */
-
-#define INIFILE_DONE \
- inifile_key_free(&ini_key)
-
-DBA_OPEN_FUNC(inifile)
-{
- info->dbf = inifile_alloc(info->fp, info->mode == DBA_READER, info->flags&DBA_PERSISTENT TSRMLS_CC);
-
- return info->dbf ? SUCCESS : FAILURE;
-}
-
-DBA_CLOSE_FUNC(inifile)
-{
- INIFILE_DATA;
-
- inifile_free(dba, info->flags&DBA_PERSISTENT);
-}
-
-DBA_FETCH_FUNC(inifile)
-{
- val_type ini_val;
-
- INIFILE_DATA;
- INIFILE_GKEY;
-
- ini_val = inifile_fetch(dba, &ini_key, skip TSRMLS_CC);
- *newlen = ini_val.value ? strlen(ini_val.value) : 0;
- INIFILE_DONE;
- return ini_val.value;
-}
-
-DBA_UPDATE_FUNC(inifile)
-{
- val_type ini_val;
- int res;
-
- INIFILE_DATA;
- INIFILE_GKEY;
-
- ini_val.value = val;
-
- if (mode == 1) {
- res = inifile_append(dba, &ini_key, &ini_val TSRMLS_CC);
- } else {
- res = inifile_replace(dba, &ini_key, &ini_val TSRMLS_CC);
- }
- INIFILE_DONE;
- switch(res) {
- case -1:
- php_error_docref1(NULL TSRMLS_CC, key, E_WARNING, "Operation not possible");
- return FAILURE;
- default:
- case 0:
- return SUCCESS;
- case 1:
- php_error_docref1(NULL TSRMLS_CC, key, E_WARNING, "Key already exists");
- return SUCCESS;
- }
-}
-
-DBA_EXISTS_FUNC(inifile)
-{
- val_type ini_val;
-
- INIFILE_DATA;
- INIFILE_GKEY;
-
- ini_val = inifile_fetch(dba, &ini_key, 0 TSRMLS_CC);
- INIFILE_DONE;
- if (ini_val.value) {
- inifile_val_free(&ini_val);
- return SUCCESS;
- }
- return FAILURE;
-}
-
-DBA_DELETE_FUNC(inifile)
-{
- INIFILE_DATA;
- INIFILE_GKEY;
- int res = inifile_delete(dba, &ini_key TSRMLS_CC);
-
- INIFILE_DONE;
- return (res == -1 ? FAILURE : SUCCESS);
-}
-
-DBA_FIRSTKEY_FUNC(inifile)
-{
- INIFILE_DATA;
-
- if (inifile_firstkey(dba TSRMLS_CC)) {
- char *result = inifile_key_string(&dba->curr.key);
- *newlen = strlen(result);
- return result;
- } else {
- return NULL;
- }
-}
-
-DBA_NEXTKEY_FUNC(inifile)
-{
- INIFILE_DATA;
-
- if (!dba->curr.key.group && !dba->curr.key.name) {
- return NULL;
- }
-
- if (inifile_nextkey(dba TSRMLS_CC)) {
- char *result = inifile_key_string(&dba->curr.key);
- *newlen = strlen(result);
- return result;
- } else {
- return NULL;
- }
-}
-
-DBA_OPTIMIZE_FUNC(inifile)
-{
- /* dummy */
- return SUCCESS;
-}
-
-DBA_SYNC_FUNC(inifile)
-{
- /* dummy */
- return SUCCESS;
-}
-
-DBA_INFO_FUNC(inifile)
-{
- return estrdup(inifile_version());
-}
-
-#endif
-
-/*
- * Local variables:
- * tab-width: 4
- * c-basic-offset: 4
- * End:
- * vim600: sw=4 ts=4 fdm=marker
- * vim<600: sw=4 ts=4
- */
diff --git a/ext/dba/libinifile/inifile.c b/ext/dba/libinifile/inifile.c
deleted file mode 100644
index 6e3d94dc4a..0000000000
--- a/ext/dba/libinifile/inifile.c
+++ /dev/null
@@ -1,598 +0,0 @@
-/*
- +----------------------------------------------------------------------+
- | PHP Version 4 |
- +----------------------------------------------------------------------+
- | Copyright (c) 1997-2003 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 |
- | available at through the world-wide-web at |
- | http://www.php.net/license/2_02.txt. |
- | If you did not receive a copy of the PHP license and are unable to |
- | obtain it through the world-wide-web, please send a note to |
- | license@php.net so we can mail you a copy immediately. |
- +----------------------------------------------------------------------+
- | Author: Marcus Boerger <helly@php.net> |
- +----------------------------------------------------------------------+
- */
-
-/* $Id$ */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "php.h"
-#include "php_globals.h"
-#include "safe_mode.h"
-#include "php_network.h"
-
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-#if HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#include "inifile.h"
-
-/* ret = -1 means that database was opened for read-only
- * ret = 0 success
- * ret = 1 key already exists - nothing done
- */
-
-/* {{{ inifile_version */
-char *inifile_version()
-{
- return "1.0, $Revision$";
-}
-/* }}} */
-
-/* {{{ inifile_free_key */
-void inifile_key_free(key_type *key)
-{
- if (key->group) {
- efree(key->group);
- }
- if (key->name) {
- efree(key->name);
- }
- memset(key, 0, sizeof(key_type));
-}
-/* }}} */
-
-/* {{{ inifile_free_val */
-void inifile_val_free(val_type *val)
-{
- if (val->value) {
- efree(val->value);
- }
- memset(val, 0, sizeof(val_type));
-}
-/* }}} */
-
-/* {{{ inifile_free_val */
-void inifile_line_free(line_type *ln)
-{
- inifile_key_free(&ln->key);
- inifile_val_free(&ln->val);
- ln->pos = 0;
-}
-/* }}} */
-
-/* {{{ inifile_alloc */
-inifile * inifile_alloc(php_stream *fp, int readonly, int persistent TSRMLS_DC)
-{
- inifile *dba;
- int fd = 0;
-
- if (!readonly) {
- if (!php_stream_truncate_supported(fp)) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Can't truncate this stream");
- return NULL;
- }
- if (SUCCESS != php_stream_cast(fp, PHP_STREAM_AS_FD, (void*)&fd, 1)) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Could not cast stream");
- return NULL;
- }
- }
- dba = pemalloc(sizeof(inifile), persistent);
- memset(dba, 0, sizeof(inifile));
- dba->fp = fp;
- dba->fd = fd;
- dba->readonly = readonly;
- return dba;
-}
-/* }}} */
-
-/* {{{ inifile_free */
-void inifile_free(inifile *dba, int persistent)
-{
- if (dba) {
- inifile_line_free(&dba->curr);
- inifile_line_free(&dba->next);
- pefree(dba, persistent);
- }
-}
-/* }}} */
-
-/* {{{ inifile_key_split */
-key_type inifile_key_split(const char *group_name)
-{
- key_type key;
- char *name;
-
- if (group_name[0] == '[' && (name = strchr(group_name, ']')) != NULL) {
- key.group = estrndup(group_name+1, name - (group_name + 1));
- key.name = estrdup(name+1);
- } else {
- key.group = estrdup("");
- key.name = estrdup(group_name);
- }
- return key;
-}
-/* }}} */
-
-/* {{{ inifile_key_string */
-char * inifile_key_string(const key_type *key)
-{
- if (key->group && *key->group) {
- char *result;
- spprintf(&result, 0, "[%s]%s", key->group, key->name ? key->name : "");
- return result;
- } else if (key->name) {
- return estrdup(key->name);
- } else {
- return NULL;
- }
-}
-/* }}} */
-
-/* {{{ etrim */
-static char *etrim(const char *str)
-{
- char *val;
- size_t l;
-
- if (!str) {
- return NULL;
- }
- val = (char*)str;
- while (strchr(" \t\r\n", *val)) {
- val++;
- }
- l = strlen(val);
- while (l && (strchr(" \t\r\n", val[l-1]))) {
- l--;
- }
- return estrndup(val, l);
-}
-/* }}} */
-
-/* {{{ inifile_findkey
- */
-static int inifile_read(inifile *dba, line_type *ln TSRMLS_DC) {
- char *fline;
- char *pos;
-
- inifile_val_free(&ln->val);
- while ((fline = php_stream_gets(dba->fp, NULL, 0)) != NULL) {
- if (fline) {
- if (fline[0] == '[') {
- /* A value name cannot start with '['
- * So either we find a ']' or we found an error
- */
- pos = strchr(fline+1, ']');
- if (pos) {
- *pos = '\0';
- inifile_key_free(&ln->key);
- ln->key.group = etrim(fline+1);
- ln->key.name = estrdup("");
- ln->pos = php_stream_tell(dba->fp);
- efree(fline);
- return 1;
- } else {
- efree(fline);
- continue;
- }
- } else {
- pos = strchr(fline, '=');
- if (pos) {
- *pos = '\0';
- /* keep group or make empty if not existent */
- if (!ln->key.group) {
- ln->key.group = estrdup("");
- }
- if (ln->key.name) {
- efree(ln->key.name);
- }
- ln->key.name = etrim(fline);
- ln->val.value = etrim(pos+1);
- ln->pos = php_stream_tell(dba->fp);
- efree(fline);
- return 1;
- } else {
- /* simply ignore lines without '='
- * those should be comments
- */
- efree(fline);
- continue;
- }
- }
- }
- }
- inifile_line_free(ln);
- return 0;
-}
-/* }}} */
-
-/* {{{ inifile_key_cmp */
-/* 0 = EQUAL
- * 1 = GROUP-EQUAL,NAME-DIFFERENT
- * 2 = DIFFERENT
- */
-static int inifile_key_cmp(const key_type *k1, const key_type *k2 TSRMLS_DC)
-{
- assert(k1->group && k1->name && k2->group && k2->name);
-
- if (!strcasecmp(k1->group, k2->group)) {
- if (!strcasecmp(k1->name, k2->name)) {
- return 0;
- } else {
- return 1;
- }
- } else {
- return 2;
- }
-}
-/* }}} */
-
-/* {{{ inifile_fetch
- */
-val_type inifile_fetch(inifile *dba, const key_type *key, int skip TSRMLS_DC) {
- line_type ln = {{NULL,NULL},{NULL}};
- val_type val;
- int res, grp_eq = 0;
-
- if (skip == -1 && dba->next.key.group && dba->next.key.name && !inifile_key_cmp(&dba->next.key, key TSRMLS_CC)) {
- /* we got position already from last fetch */
- php_stream_seek(dba->fp, dba->next.pos, SEEK_SET);
- } else {
- /* specific instance or not same key -> restart search */
- /* the slow way: restart and seacrch */
- php_stream_rewind(dba->fp);
- inifile_line_free(&dba->next);
- }
- if (skip == -1) {
- skip = 0;
- }
- while(inifile_read(dba, &ln TSRMLS_CC)) {
- if (!(res=inifile_key_cmp(&ln.key, key TSRMLS_CC))) {
- if (!skip) {
- val.value = estrdup(ln.val.value ? ln.val.value : "");
- /* allow faster access by updating key read into next */
- inifile_line_free(&dba->next);
- dba->next = ln;
- dba->next.pos = php_stream_tell(dba->fp);
- return val;
- }
- skip--;
- } else if (res == 1) {
- grp_eq = 1;
- } else if (grp_eq) {
- /* we are leaving group now: that means we cannot find the key */
- break;
- }
- }
- inifile_line_free(&ln);
- dba->next.pos = php_stream_tell(dba->fp);
- return ln.val;
-}
-/* }}} */
-
-/* {{{ inifile_firstkey
- */
-int inifile_firstkey(inifile *dba TSRMLS_DC) {
- inifile_line_free(&dba->curr);
- dba->curr.pos = 0;
- return inifile_nextkey(dba TSRMLS_CC);
-}
-/* }}} */
-
-/* {{{ inifile_nextkey
- */
-int inifile_nextkey(inifile *dba TSRMLS_DC) {
- line_type ln = {{NULL,NULL},{NULL}};
-
- /*inifile_line_free(&dba->next); ??? */
- php_stream_seek(dba->fp, dba->curr.pos, SEEK_SET);
- ln.key.group = estrdup(dba->curr.key.group ? dba->curr.key.group : "");
- inifile_read(dba, &ln TSRMLS_CC);
- inifile_line_free(&dba->curr);
- dba->curr = ln;
- return ln.key.group || ln.key.name;
-}
-/* }}} */
-
-/* {{{ inifile_truncate
- */
-static int inifile_truncate(inifile *dba, size_t size TSRMLS_DC)
-{
- int res;
-
- if ((res=php_stream_truncate_set_size(dba->fp, size)) != 0) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Error in ftruncate: %d", res);
- return FAILURE;
- }
- php_stream_seek(dba->fp, size, SEEK_SET);
- return SUCCESS;
-}
-/* }}} */
-
-/* {{{ inifile_find_group
- * if found pos_grp_start points to "[group_name]"
- */
-static int inifile_find_group(inifile *dba, const key_type *key, size_t *pos_grp_start TSRMLS_DC)
-{
- int ret = FAILURE;
-
- php_stream_flush(dba->fp);
- php_stream_seek(dba->fp, 0, SEEK_SET);
- inifile_line_free(&dba->curr);
- inifile_line_free(&dba->next);
-
- if (key->group && strlen(key->group)) {
- int res;
- line_type ln = {{NULL,NULL},{NULL}};
-
- res = 1;
- while(inifile_read(dba, &ln TSRMLS_CC)) {
- if ((res=inifile_key_cmp(&ln.key, key TSRMLS_CC)) < 2) {
- ret = SUCCESS;
- break;
- }
- *pos_grp_start = php_stream_tell(dba->fp);
- }
- inifile_line_free(&ln);
- } else {
- *pos_grp_start = 0;
- ret = SUCCESS;
- }
- if (ret == FAILURE) {
- *pos_grp_start = php_stream_tell(dba->fp);
- }
- return ret;
-}
-/* }}} */
-
-/* {{{ inifile_next_group
- * only valid after a call to inifile_find_group
- * if any next group is found pos_grp_start points to "[group_name]" or whitespace before that
- */
-static int inifile_next_group(inifile *dba, const key_type *key, size_t *pos_grp_start TSRMLS_DC)
-{
- int ret = FAILURE;
- line_type ln = {{NULL,NULL},{NULL}};
-
- *pos_grp_start = php_stream_tell(dba->fp);
- ln.key.group = estrdup(key->group);
- while(inifile_read(dba, &ln TSRMLS_CC)) {
- if (inifile_key_cmp(&ln.key, key TSRMLS_CC) == 2) {
- ret = SUCCESS;
- break;
- }
- *pos_grp_start = php_stream_tell(dba->fp);
- }
- inifile_line_free(&ln);
- return ret;
-}
-/* }}} */
-
-/* {{{ inifile_copy_to
- */
-static int inifile_copy_to(inifile *dba, size_t pos_start, size_t pos_end, inifile **ini_copy TSRMLS_DC)
-{
- php_stream *fp;
-
- if (pos_start == pos_end) {
- *ini_copy = NULL;
- return SUCCESS;
- }
- if ((fp = php_stream_temp_create(0, 64 * 1024)) == NULL) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Could not create temporary stream");
- *ini_copy = NULL;
- return FAILURE;
- }
-
- if ((*ini_copy = inifile_alloc(fp, 1, 0 TSRMLS_CC)) == NULL) {
- /* writes error */
- return FAILURE;
- }
- php_stream_seek(dba->fp, pos_start, SEEK_SET);
- if (!php_stream_copy_to_stream(dba->fp, fp, pos_end - pos_start)) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Could not copy group [%d - %d] to temporary stream", pos_start, pos_end);
- return FAILURE;
- }
- return SUCCESS;
-}
-/* }}} */
-
-/* {{{ inifile_filter
- * copy from to dba while ignoring key name (group must equal)
- */
-static int inifile_filter(inifile *dba, inifile *from, const key_type *key TSRMLS_DC)
-{
- size_t pos_start = 0, pos_next = 0, pos_curr;
- int ret = SUCCESS;
- line_type ln = {{NULL,NULL},{NULL}};
-
- php_stream_seek(from->fp, 0, SEEK_SET);
- php_stream_seek(dba->fp, 0, SEEK_END);
- while(inifile_read(from, &ln TSRMLS_CC)) {
- switch(inifile_key_cmp(&ln.key, key TSRMLS_CC)) {
- case 0:
- pos_curr = php_stream_tell(from->fp);
- if (pos_start != pos_next) {
- php_stream_seek(from->fp, pos_start, SEEK_SET);
- if (!php_stream_copy_to_stream(from->fp, dba->fp, pos_next - pos_start)) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Could not copy [%d - %d] from temporary stream", pos_next, pos_start);
- ret = FAILURE;
- }
- php_stream_seek(from->fp, pos_curr, SEEK_SET);
- }
- pos_next = pos_start = pos_curr;
- break;
- case 1:
- pos_next = php_stream_tell(from->fp);
- break;
- case 2:
- /* the function is meant to process only entries from same group */
- assert(0);
- break;
- }
- }
- if (pos_start != pos_next) {
- php_stream_seek(from->fp, pos_start, SEEK_SET);
- if (!php_stream_copy_to_stream(from->fp, dba->fp, pos_next - pos_start)) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Could not copy [%d - %d] from temporary stream", pos_next, pos_start);
- ret = FAILURE;
- }
- }
- inifile_line_free(&ln);
- return SUCCESS;
-}
-/* }}} */
-
-/* {{{ inifile_delete_replace_append
- */
-static int inifile_delete_replace_append(inifile *dba, const key_type *key, const val_type *value, int append TSRMLS_DC)
-{
- size_t pos_grp_start, pos_grp_next;
- inifile *ini_tmp = NULL;
- php_stream *fp_tmp = NULL;
- int ret;
-
- /* 1) Search group start
- * 2) Search next group
- * 3) If not append: Copy group to ini_tmp
- * 4) Open temp_stream and copy remainder
- * 5) Truncate stream
- * 6) If not append AND key.name given: Filtered copy back from ini_tmp
- * to stream. Otherwise the user wanted to delete the group.
- * 7) Append value if given
- * 8) Append temporary stream
- */
-
- assert(!append || (key->name && value)); /* missuse */
-
- /* 1 - 3 */
- inifile_find_group(dba, key, &pos_grp_start TSRMLS_CC);
- inifile_next_group(dba, key, &pos_grp_next TSRMLS_CC);
- if (append) {
- ret = SUCCESS;
- } else {
- ret = inifile_copy_to(dba, pos_grp_start, pos_grp_next, &ini_tmp TSRMLS_CC);
- }
-
- /* 4 */
- if (ret == SUCCESS) {
- fp_tmp = php_stream_temp_create(0, 64 * 1024);
- if (!fp_tmp) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Could not create temporary stream");
- ret = FAILURE;
- } else {
- php_stream_seek(dba->fp, 0, SEEK_END);
- if (pos_grp_next != php_stream_tell(dba->fp)) {
- php_stream_seek(dba->fp, pos_grp_next, SEEK_SET);
- if (!php_stream_copy_to_stream(dba->fp, fp_tmp, PHP_STREAM_COPY_ALL)) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Could not copy remainder to temporary stream");
- ret = FAILURE;
- }
- }
- }
- }
-
- /* 5 */
- if (ret == SUCCESS) {
- ret = inifile_truncate(dba, append ? pos_grp_next : pos_grp_start TSRMLS_CC); /* writes error on fail */
- }
-
- if (ret == SUCCESS) {
- if (key->name && strlen(key->name)) {
- /* 6 */
- if (!append && ini_tmp) {
- ret = inifile_filter(dba, ini_tmp, key TSRMLS_CC);
- }
-
- /* 7 */
- /* important: do not query ret==SUCCESS again: inifile_filter might fail but
- * however next operation must be done.
- */
- if (value) {
- if (pos_grp_start == pos_grp_next && key->group && strlen(key->group)) {
- php_stream_printf(dba->fp TSRMLS_CC, "[%s]\n", key->group);
- }
- php_stream_printf(dba->fp TSRMLS_CC, "%s=%s\n", key->name, value->value ? value->value : "");
- }
- }
-
- /* 8 */
- /* important: do not query ret==SUCCESS again: inifile_filter might fail but
- * however next operation must be done.
- */
- if (fp_tmp && php_stream_tell(fp_tmp)) {
- php_stream_seek(fp_tmp, 0, SEEK_SET);
- php_stream_seek(dba->fp, 0, SEEK_END);
- if (!php_stream_copy_to_stream(fp_tmp, dba->fp, PHP_STREAM_COPY_ALL)) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Could not copy from temporary stream - ini file truncated");
- ret = FAILURE;
- }
- }
- }
-
- if (ini_tmp) {
- php_stream_close(ini_tmp->fp);
- inifile_free(ini_tmp, 0);
- }
- if (fp_tmp) {
- php_stream_close(fp_tmp);
- }
- php_stream_flush(dba->fp);
- php_stream_seek(dba->fp, 0, SEEK_SET);
-
- return ret;
-}
-/* }}} */
-
-/* {{{ inifile_delete
- */
-int inifile_delete(inifile *dba, const key_type *key TSRMLS_DC)
-{
- return inifile_delete_replace_append(dba, key, NULL, 0 TSRMLS_CC);
-}
-/* }}} */
-
-/* {{{ inifile_relace
- */
-int inifile_replace(inifile *dba, const key_type *key, const val_type *value TSRMLS_DC)
-{
- return inifile_delete_replace_append(dba, key, value, 0 TSRMLS_CC);
-}
-/* }}} */
-
-/* {{{ inifile_append
- */
-int inifile_append(inifile *dba, const key_type *key, const val_type *value TSRMLS_DC)
-{
- return inifile_delete_replace_append(dba, key, value, 1 TSRMLS_CC);
-}
-/* }}} */
-
-/*
- * Local variables:
- * tab-width: 4
- * c-basic-offset: 4
- * End:
- * vim600: sw=4 ts=4 fdm=marker
- * vim<600: sw=4 ts=4
- */
diff --git a/ext/dba/libinifile/inifile.h b/ext/dba/libinifile/inifile.h
deleted file mode 100644
index f0c17c369c..0000000000
--- a/ext/dba/libinifile/inifile.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- +----------------------------------------------------------------------+
- | PHP Version 4 |
- +----------------------------------------------------------------------+
- | Copyright (c) 1997-2003 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 |
- | available at through the world-wide-web at |
- | http://www.php.net/license/2_02.txt. |
- | If you did not receive a copy of the PHP license and are unable to |
- | obtain it through the world-wide-web, please send a note to |
- | license@php.net so we can mail you a copy immediately. |
- +----------------------------------------------------------------------+
- | Author: Marcus Boerger <helly@php.net> |
- +----------------------------------------------------------------------+
- */
-
-/* $Id$ */
-
-#ifndef PHP_LIB_INIFILE_H
-#define PHP_LIB_INIFILE_H
-
-typedef struct {
- char *group;
- char *name;
-} key_type;
-
-typedef struct {
- char *value;
-} val_type;
-
-typedef struct {
- key_type key;
- val_type val;
- size_t pos;
-} line_type;
-
-typedef struct {
- char *lockfn;
- int lockfd;
- php_stream *fp;
- int fd;
- int readonly;
- line_type curr;
- line_type next;
-} inifile;
-
-val_type inifile_fetch(inifile *dba, const key_type *key, int skip TSRMLS_DC);
-int inifile_firstkey(inifile *dba TSRMLS_DC);
-int inifile_nextkey(inifile *dba TSRMLS_DC);
-int inifile_delete(inifile *dba, const key_type *key TSRMLS_DC);
-int inifile_replace(inifile *dba, const key_type *key, const val_type *val TSRMLS_DC);
-int inifile_append(inifile *dba, const key_type *key, const val_type *val TSRMLS_DC);
-char *inifile_version();
-
-key_type inifile_key_split(const char *group_name);
-char * inifile_key_string(const key_type *key);
-
-void inifile_key_free(key_type *key);
-void inifile_val_free(val_type *val);
-void inifile_line_free(line_type *ln);
-
-inifile * inifile_alloc(php_stream *fp, int readonly, int persistent TSRMLS_DC);
-void inifile_free(inifile *dba, int persistent);
-
-#endif
diff --git a/ext/dba/php_inifile.h b/ext/dba/php_inifile.h
deleted file mode 100644
index 69444df3c6..0000000000
--- a/ext/dba/php_inifile.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef PHP_INIFILE_H
-#define PHP_INIFILE_H
-
-#if DBA_INIFILE
-
-#include "php_dba.h"
-
-DBA_FUNCS(inifile);
-
-#endif
-
-#endif
diff --git a/ext/dba/tests/dba_inifile.phpt b/ext/dba/tests/dba_inifile.phpt
deleted file mode 100644
index 11ca19e3b6..0000000000
--- a/ext/dba/tests/dba_inifile.phpt
+++ /dev/null
@@ -1,29 +0,0 @@
---TEST--
-DBA INIFILE handler test
---SKIPIF--
-<?php
- $handler = 'inifile';
- require_once('skipif.inc');
-?>
---FILE--
-<?php
- $handler = 'inifile';
- require_once('test.inc');
- require_once('dba_handler.inc');
-?>
---EXPECT--
-database handler: inifile
-3NYNYY
-Content String 2
-Content 2 replaced
-Read during write: not allowed
-Content 2 replaced 2nd time
-The 6th value
-array(3) {
- ["key number 6"]=>
- string(13) "The 6th value"
- ["key2"]=>
- string(27) "Content 2 replaced 2nd time"
- ["key5"]=>
- string(23) "The last content string"
-} \ No newline at end of file
diff --git a/ext/sqlite/CREDITS b/ext/sqlite/CREDITS
deleted file mode 100644
index 87f769b6f9..0000000000
--- a/ext/sqlite/CREDITS
+++ /dev/null
@@ -1,2 +0,0 @@
-sqlite
-Wez Furlong, Tal Peer, Marcus Börger
diff --git a/ext/sqlite/README b/ext/sqlite/README
deleted file mode 100644
index 2f6cbb0f87..0000000000
--- a/ext/sqlite/README
+++ /dev/null
@@ -1,14 +0,0 @@
-This is an extension for the SQLite Embeddable SQL Database Engine.
-http://www.sqlite.org/
-
-SQLite is a C library that implements an embeddable SQL database engine.
-Programs that link with the SQLite library can have SQL database access
-without running a separate RDBMS process.
-
-SQLite is not a client library used to connect to a big database server.
-SQLite is the server. The SQLite library reads and writes directly to and from
-the database files on disk
-
-
-
-vim:tw=78:et
diff --git a/ext/sqlite/TODO b/ext/sqlite/TODO
deleted file mode 100644
index b3e5594450..0000000000
--- a/ext/sqlite/TODO
+++ /dev/null
@@ -1,22 +0,0 @@
-- Transparent binary encoding of return values from PHP callback functions.
-
-- Add user-space callback for the authorizer function (this is potentially
- very slow, so it needs to be implemented carefully).
-
-- Add user-space callback to handle busy databases.
-
-- Test-suite
-
- o Test how robust we are when a user-space function is registered as
- a callback for a persistent connection in script A, then script B is
- called that doesn't register the callback but does make use of the
- function in an SQL query.
- --> Our test suite doesn't allow us to test persistent connections
- at this time :/
-
-- If building a ZTS build, -DTHREADSAFE while compiling libsqlite
-
-- If building a non-debug build, -DNDEBUG will disable the expensive
- asserts in the inner loop. (and double performance)
-
-vim:tw=78
diff --git a/ext/sqlite/libsqlite/README b/ext/sqlite/libsqlite/README
deleted file mode 100644
index 326f3aa1ac..0000000000
--- a/ext/sqlite/libsqlite/README
+++ /dev/null
@@ -1,37 +0,0 @@
-This directory contains source code to
-
- SQLite: An Embeddable SQL Database Engine
-
-To compile the project, first create a directory in which to place
-the build products. It is recommended, but not required, that the
-build directory be separate from the source directory. Cd into the
-build directory and then from the build directory run the configure
-script found at the root of the source tree. Then run "make".
-
-For example:
-
- tar xzf sqlite.tar.gz ;# Unpack the source tree into "sqlite"
- mkdir bld ;# Build will occur in a sibling directory
- cd bld ;# Change to the build directory
- ../sqlite/configure ;# Run the configure script
- make ;# Run the makefile.
-
-The configure script uses autoconf 2.50 and libtool. If the configure
-script does not work out for you, there is a generic makefile named
-"Makefile.linux-gcc" in the top directory of the source tree that you
-can copy and edit to suite your needs. Comments on the generic makefile
-show what changes are needed.
-
-The linux binaries on the website are created using the generic makefile,
-not the configure script. The configure script is unmaintained. (You
-can volunteer to take over maintenance of the configure script, if you want!)
-The windows binaries on the website are created using MinGW32 configured
-as a cross-compiler running under Linux. For details, see the ./publish.sh
-script at the top-level of the source tree.
-
-Contacts:
-
- http://www.sqlite.org/
- http://www.hwaci.com/sw/sqlite/
- http://groups.yahoo.com/group/sqlite/
- drh@hwaci.com
diff --git a/ext/sqlite/libsqlite/src/sqlite_config.w32.h b/ext/sqlite/libsqlite/src/sqlite_config.w32.h
deleted file mode 100644
index 3903ffe95e..0000000000
--- a/ext/sqlite/libsqlite/src/sqlite_config.w32.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "config.w32.h"
-#if ZTS
-# define THREADSAFE 1
-#endif
-#if !ZEND_DEBUG && !defined(NDEBUG)
-# define NDEBUG
-#endif
-#define SQLITE_PTR_SZ 4 \ No newline at end of file
diff --git a/ext/sqlite/sqlite.php b/ext/sqlite/sqlite.php
deleted file mode 100644
index d1fefb4503..0000000000
--- a/ext/sqlite/sqlite.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-if (!extension_loaded("sqlite")) {
- dl("sqlite.so");
-}
-
-debug_zval_dump(sqlite_libversion());
-debug_zval_dump(sqlite_libencoding());
-
-$s = sqlite_open("weztest.sqlite", 0666, $err);
-
-debug_zval_dump($err);
-debug_zval_dump($s);
-
-$r = sqlite_query("create table foo (a INTEGER PRIMARY KEY, b INTEGER )", $s);
-debug_zval_dump(sqlite_last_error($s));
-debug_zval_dump(sqlite_error_string(sqlite_last_error($s)));
-
-$r = sqlite_query("select *, php('md5', sql) as o from sqlite_master", $s);
-debug_zval_dump($r);
-debug_zval_dump(sqlite_num_rows($r));
-debug_zval_dump(sqlite_num_fields($r));
-
-for ($j = 0; $j < sqlite_num_fields($r); $j++) {
- echo "Field $j is " . sqlite_field_name($r, $j) . "\n";
-}
-
-while ($row = sqlite_fetch_array($r, SQLITE_ASSOC)) {
- print_r($row);
-}
-
-sqlite_close($s);
-
-?>
diff --git a/ext/sqlite/tests/blankdb.inc b/ext/sqlite/tests/blankdb.inc
deleted file mode 100644
index 085d3b2b51..0000000000
--- a/ext/sqlite/tests/blankdb.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php #vim:ft=php
-$dbname = tempnam(dirname(__FILE__), "phpsql");
-function cleanup() {
- if ($GLOBALS['db']) {
- sqlite_close($GLOBALS['db']);
- }
- unlink($GLOBALS['dbname']);
-}
-register_shutdown_function("cleanup");
-$db = sqlite_open($dbname);
-?>
diff --git a/ext/sqlite/tests/sqlite_001.phpt b/ext/sqlite/tests/sqlite_001.phpt
deleted file mode 100755
index 70059a3e59..0000000000
--- a/ext/sqlite/tests/sqlite_001.phpt
+++ /dev/null
@@ -1,17 +0,0 @@
---TEST--
-sqlite: sqlite_open/close
---INI--
-sqlite.assoc_case=0
---SKIPIF--
-<?php if (!extension_loaded("sqlite")) print "skip"; ?>
---FILE--
-<?php
-require_once('blankdb.inc');
-echo "$db\n";
-sqlite_close($db);
-$db = NULL;
-echo "Done\n";
-?>
---EXPECTF--
-Resource id #%d
-Done
diff --git a/ext/sqlite/tests/sqlite_002.phpt b/ext/sqlite/tests/sqlite_002.phpt
deleted file mode 100755
index d76b61687d..0000000000
--- a/ext/sqlite/tests/sqlite_002.phpt
+++ /dev/null
@@ -1,31 +0,0 @@
---TEST--
-sqlite: Simple insert/select
---INI--
-sqlite.assoc_case=0
---SKIPIF--
-<?php # vim:ft=php
-if (!extension_loaded("sqlite")) print "skip"; ?>
---FILE--
-<?php
-include "blankdb.inc";
-
-sqlite_query("CREATE TABLE foo(c1 date, c2 time, c3 varchar(64))", $db);
-sqlite_query("INSERT INTO foo VALUES ('2002-01-02', '12:49:00', NULL)", $db);
-$r = sqlite_query("SELECT * from foo", $db);
-var_dump(sqlite_fetch_array($r));
-?>
---EXPECT--
-array(6) {
- [0]=>
- string(10) "2002-01-02"
- ["c1"]=>
- string(10) "2002-01-02"
- [1]=>
- string(8) "12:49:00"
- ["c2"]=>
- string(8) "12:49:00"
- [2]=>
- NULL
- ["c3"]=>
- NULL
-}
diff --git a/ext/sqlite/tests/sqlite_003.phpt b/ext/sqlite/tests/sqlite_003.phpt
deleted file mode 100755
index 3e6cb3f04e..0000000000
--- a/ext/sqlite/tests/sqlite_003.phpt
+++ /dev/null
@@ -1,51 +0,0 @@
---TEST--
-sqlite: Simple insert/select, different result represenatation
---INI--
-sqlite.assoc_case=0
---SKIPIF--
-<?php
-if (!extension_loaded("sqlite")) print "skip"; ?>
---FILE--
-<?php
-include "blankdb.inc";
-
-sqlite_query("CREATE TABLE foo(c1 date, c2 time, c3 varchar(64))", $db);
-sqlite_query("INSERT INTO foo VALUES ('2002-01-02', '12:49:00', NULL)", $db);
-$r = sqlite_query("SELECT * from foo", $db);
-var_dump(sqlite_fetch_array($r, SQLITE_BOTH));
-$r = sqlite_query("SELECT * from foo", $db);
-var_dump(sqlite_fetch_array($r, SQLITE_NUM));
-$r = sqlite_query("SELECT * from foo", $db);
-var_dump(sqlite_fetch_array($r, SQLITE_ASSOC));
-?>
---EXPECT--
-array(6) {
- [0]=>
- string(10) "2002-01-02"
- ["c1"]=>
- string(10) "2002-01-02"
- [1]=>
- string(8) "12:49:00"
- ["c2"]=>
- string(8) "12:49:00"
- [2]=>
- NULL
- ["c3"]=>
- NULL
-}
-array(3) {
- [0]=>
- string(10) "2002-01-02"
- [1]=>
- string(8) "12:49:00"
- [2]=>
- NULL
-}
-array(3) {
- ["c1"]=>
- string(10) "2002-01-02"
- ["c2"]=>
- string(8) "12:49:00"
- ["c3"]=>
- NULL
-}
diff --git a/ext/sqlite/tests/sqlite_004.phpt b/ext/sqlite/tests/sqlite_004.phpt
deleted file mode 100644
index 4005fc9030..0000000000
--- a/ext/sqlite/tests/sqlite_004.phpt
+++ /dev/null
@@ -1,46 +0,0 @@
---TEST--
-sqlite: binary encoding
---INI--
-sqlite.assoc_case=0
---SKIPIF--
-<?php # vim:ft=php
-if (!extension_loaded("sqlite")) print "skip"; ?>
---FILE--
-<?php
-include "blankdb.inc";
-
-$strings = array(
- "hello",
- "hello\x01o",
- "\x01hello there",
- "hello\x00there",
- ""
-);
-
-sqlite_query("CREATE TABLE strings(a)", $db);
-
-foreach ($strings as $str) {
- sqlite_query("INSERT INTO strings VALUES('" . sqlite_escape_string($str) . "')", $db);
-}
-
-$i = 0;
-$r = sqlite_query("SELECT * from strings", $db);
-while ($row = sqlite_fetch_array($r, SQLITE_NUM)) {
- if ($row[0] !== $strings[$i]) {
- echo "FAIL!\n";
- var_dump($row[0]);
- var_dump($strings[$i]);
- } else {
- echo "OK!\n";
- }
- $i++;
-}
-echo "DONE!\n";
-?>
---EXPECT--
-OK!
-OK!
-OK!
-OK!
-OK!
-DONE!
diff --git a/ext/sqlite/tests/sqlite_005.phpt b/ext/sqlite/tests/sqlite_005.phpt
deleted file mode 100644
index 70a8232630..0000000000
--- a/ext/sqlite/tests/sqlite_005.phpt
+++ /dev/null
@@ -1,47 +0,0 @@
---TEST--
-sqlite: aggregate functions
---INI--
-sqlite.assoc_case=0
---SKIPIF--
-<?php # vim:ft=php
-if (!extension_loaded("sqlite")) print "skip"; ?>
---FILE--
-<?php
-include "blankdb.inc";
-
-$data = array(
- "one",
- "two",
- "three"
- );
-
-sqlite_query("CREATE TABLE strings(a)", $db);
-
-foreach ($data as $str) {
- sqlite_query("INSERT INTO strings VALUES('" . sqlite_escape_string($str) . "')", $db);
-}
-
-function cat_step(&$context, $string)
-{
- $context .= $string;
-}
-
-function cat_fin(&$context)
-{
- return $context;
-}
-
-sqlite_create_aggregate($db, "cat", "cat_step", "cat_fin");
-
-$r = sqlite_query("SELECT cat(a) from strings", $db);
-while ($row = sqlite_fetch_array($r, SQLITE_NUM)) {
- var_dump($row);
-}
-echo "DONE!\n";
-?>
---EXPECT--
-array(1) {
- [0]=>
- string(11) "onetwothree"
-}
-DONE!
diff --git a/ext/sqlite/tests/sqlite_006.phpt b/ext/sqlite/tests/sqlite_006.phpt
deleted file mode 100644
index b839a6e5c6..0000000000
--- a/ext/sqlite/tests/sqlite_006.phpt
+++ /dev/null
@@ -1,52 +0,0 @@
---TEST--
-sqlite: regular functions
---INI--
-sqlite.assoc_case=0
---SKIPIF--
-<?php # vim:ft=php
-if (!extension_loaded("sqlite")) print "skip"; ?>
---FILE--
-<?php
-include "blankdb.inc";
-
-$data = array(
- array("one", "uno"),
- array("two", "dos"),
- array("three", "tres"),
- );
-
-sqlite_query("CREATE TABLE strings(a,b)", $db);
-
-function implode_args()
-{
- $args = func_get_args();
- $sep = array_shift($args);
- return implode($sep, $args);
-}
-
-foreach ($data as $row) {
- sqlite_query("INSERT INTO strings VALUES('" . sqlite_escape_string($row[0]) . "','" . sqlite_escape_string($row[1]) . "')", $db);
-}
-
-sqlite_create_function($db, "implode", "implode_args");
-
-$r = sqlite_query("SELECT implode('-', a, b) from strings", $db);
-while ($row = sqlite_fetch_array($r, SQLITE_NUM)) {
- var_dump($row);
-}
-echo "DONE!\n";
-?>
---EXPECT--
-array(1) {
- [0]=>
- string(7) "one-uno"
-}
-array(1) {
- [0]=>
- string(7) "two-dos"
-}
-array(1) {
- [0]=>
- string(10) "three-tres"
-}
-DONE!
diff --git a/ext/sqlite/tests/sqlite_007.phpt b/ext/sqlite/tests/sqlite_007.phpt
deleted file mode 100755
index c68e165a0c..0000000000
--- a/ext/sqlite/tests/sqlite_007.phpt
+++ /dev/null
@@ -1,51 +0,0 @@
---TEST--
-sqlite: Simple insert/select (unbuffered)
---INI--
-sqlite.assoc_case=0
---SKIPIF--
-<?php
-if (!extension_loaded("sqlite")) print "skip"; ?>
---FILE--
-<?php
-include "blankdb.inc";
-
-sqlite_query("CREATE TABLE foo(c1 date, c2 time, c3 varchar(64))", $db);
-sqlite_query("INSERT INTO foo VALUES ('2002-01-02', '12:49:00', NULL)", $db);
-$r = sqlite_unbuffered_query("SELECT * from foo", $db);
-var_dump(sqlite_fetch_array($r, SQLITE_BOTH));
-$r = sqlite_unbuffered_query("SELECT * from foo", $db);
-var_dump(sqlite_fetch_array($r, SQLITE_NUM));
-$r = sqlite_unbuffered_query("SELECT * from foo", $db);
-var_dump(sqlite_fetch_array($r, SQLITE_ASSOC));
-?>
---EXPECT--
-array(6) {
- [0]=>
- string(10) "2002-01-02"
- ["c1"]=>
- string(10) "2002-01-02"
- [1]=>
- string(8) "12:49:00"
- ["c2"]=>
- string(8) "12:49:00"
- [2]=>
- NULL
- ["c3"]=>
- NULL
-}
-array(3) {
- [0]=>
- string(10) "2002-01-02"
- [1]=>
- string(8) "12:49:00"
- [2]=>
- NULL
-}
-array(3) {
- ["c1"]=>
- string(10) "2002-01-02"
- ["c2"]=>
- string(8) "12:49:00"
- ["c3"]=>
- NULL
-}
diff --git a/ext/sqlite/tests/sqlite_008.phpt b/ext/sqlite/tests/sqlite_008.phpt
deleted file mode 100755
index 5886e8f73a..0000000000
--- a/ext/sqlite/tests/sqlite_008.phpt
+++ /dev/null
@@ -1,43 +0,0 @@
---TEST--
-sqlite: fetch all (buffered)
---INI--
-sqlite.assoc_case=0
---SKIPIF--
-<?php # vim:ft=php
-if (!extension_loaded("sqlite")) print "skip"; ?>
---FILE--
-<?php
-include "blankdb.inc";
-
-$data = array(
- "one",
- "two",
- "three"
- );
-
-sqlite_query("CREATE TABLE strings(a VARCHAR)", $db);
-
-foreach ($data as $str) {
- sqlite_query("INSERT INTO strings VALUES('$str')", $db);
-}
-
-$r = sqlite_query("SELECT a from strings", $db);
-while ($row = sqlite_fetch_array($r, SQLITE_NUM)) {
- var_dump($row);
-}
-echo "DONE!\n";
-?>
---EXPECT--
-array(1) {
- [0]=>
- string(3) "one"
-}
-array(1) {
- [0]=>
- string(3) "two"
-}
-array(1) {
- [0]=>
- string(5) "three"
-}
-DONE!
diff --git a/ext/sqlite/tests/sqlite_009.phpt b/ext/sqlite/tests/sqlite_009.phpt
deleted file mode 100755
index 990b6c68f3..0000000000
--- a/ext/sqlite/tests/sqlite_009.phpt
+++ /dev/null
@@ -1,43 +0,0 @@
---TEST--
-sqlite: fetch all (unbuffered)
---INI--
-sqlite.assoc_case=0
---SKIPIF--
-<?php # vim:ft=php
-if (!extension_loaded("sqlite")) print "skip"; ?>
---FILE--
-<?php
-include "blankdb.inc";
-
-$data = array(
- "one",
- "two",
- "three"
- );
-
-sqlite_query("CREATE TABLE strings(a VARCHAR)", $db);
-
-foreach ($data as $str) {
- sqlite_query("INSERT INTO strings VALUES('$str')", $db);
-}
-
-$r = sqlite_unbuffered_query("SELECT a from strings", $db);
-while ($row = sqlite_fetch_array($r, SQLITE_NUM)) {
- var_dump($row);
-}
-echo "DONE!\n";
-?>
---EXPECT--
-array(1) {
- [0]=>
- string(3) "one"
-}
-array(1) {
- [0]=>
- string(3) "two"
-}
-array(1) {
- [0]=>
- string(5) "three"
-}
-DONE!
diff --git a/ext/sqlite/tests/sqlite_010.phpt b/ext/sqlite/tests/sqlite_010.phpt
deleted file mode 100755
index 3715747072..0000000000
--- a/ext/sqlite/tests/sqlite_010.phpt
+++ /dev/null
@@ -1,78 +0,0 @@
---TEST--
-sqlite: fetch all (iterator)
---INI--
-sqlite.assoc_case=0
---SKIPIF--
-<?php # vim:ft=php
-if (!extension_loaded("sqlite")) print "skip"; ?>
---FILE--
-<?php
-include "blankdb.inc";
-
-$data = array(
- "one",
- "two",
- "three"
- );
-
-sqlite_query("CREATE TABLE strings(a VARCHAR)", $db);
-
-foreach ($data as $str) {
- sqlite_query("INSERT INTO strings VALUES('$str')", $db);
-}
-
-$r = sqlite_unbuffered_query("SELECT a from strings", $db);
-while (sqlite_has_more($r)) {
- var_dump(sqlite_current($r, SQLITE_NUM));
- sqlite_next($r);
-}
-$r = sqlite_query("SELECT a from strings", $db);
-while (sqlite_has_more($r)) {
- var_dump(sqlite_current($r, SQLITE_NUM));
- sqlite_next($r);
-}
-sqlite_rewind($r);
-while (sqlite_has_more($r)) {
- var_dump(sqlite_current($r, SQLITE_NUM));
- sqlite_next($r);
-}
-echo "DONE!\n";
-?>
---EXPECT--
-array(1) {
- [0]=>
- string(3) "one"
-}
-array(1) {
- [0]=>
- string(3) "two"
-}
-array(1) {
- [0]=>
- string(5) "three"
-}
-array(1) {
- [0]=>
- string(3) "one"
-}
-array(1) {
- [0]=>
- string(3) "two"
-}
-array(1) {
- [0]=>
- string(5) "three"
-}
-array(1) {
- [0]=>
- string(3) "one"
-}
-array(1) {
- [0]=>
- string(3) "two"
-}
-array(1) {
- [0]=>
- string(5) "three"
-}
-DONE!
diff --git a/ext/sqlite/tests/sqlite_011.phpt b/ext/sqlite/tests/sqlite_011.phpt
deleted file mode 100755
index 1aa6704249..0000000000
--- a/ext/sqlite/tests/sqlite_011.phpt
+++ /dev/null
@@ -1,27 +0,0 @@
---TEST--
-sqlite: returned associative column names
---INI--
-sqlite.assoc_case=0
---SKIPIF--
-<?php
-if (!extension_loaded("sqlite")) print "skip"; ?>
---FILE--
-<?php
-include "blankdb.inc";
-
-sqlite_query("CREATE TABLE foo (c1 char, c2 char, c3 char)", $db);
-sqlite_query("CREATE TABLE bar (c1 char, c2 char, c3 char)", $db);
-sqlite_query("INSERT INTO foo VALUES ('1', '2', '3')", $db);
-sqlite_query("INSERT INTO bar VALUES ('4', '5', '6')", $db);
-$r = sqlite_query("SELECT * from foo, bar", $db, SQLITE_ASSOC);
-var_dump(sqlite_fetch_array($r));
-?>
---EXPECT--
-array(3) {
- ["c1"]=>
- string(1) "4"
- ["c2"]=>
- string(1) "5"
- ["c3"]=>
- string(1) "6"
-}
diff --git a/ext/sqlite/tests/sqlite_012.phpt b/ext/sqlite/tests/sqlite_012.phpt
deleted file mode 100755
index 531bf8055b..0000000000
--- a/ext/sqlite/tests/sqlite_012.phpt
+++ /dev/null
@@ -1,35 +0,0 @@
---TEST--
-sqlite: read field names
---INI--
-sqlite.assoc_case=0
---SKIPIF--
-<?php # vim:ft=php
-if (!extension_loaded("sqlite")) print "skip"; ?>
---FILE--
-<?php
-include "blankdb.inc";
-
-sqlite_query("CREATE TABLE strings(foo VARCHAR, bar VARCHAR, baz VARCHAR)", $db);
-
-echo "Buffered\n";
-$r = sqlite_query("SELECT * from strings", $db);
-for($i=0; $i<sqlite_num_fields($r); $i++) {
- var_dump(sqlite_field_name($r, $i));
-}
-echo "Unbuffered\n";
-$r = sqlite_unbuffered_query("SELECT * from strings", $db);
-for($i=0; $i<sqlite_num_fields($r); $i++) {
- var_dump(sqlite_field_name($r, $i));
-}
-echo "DONE!\n";
-?>
---EXPECT--
-Buffered
-string(3) "foo"
-string(3) "bar"
-string(3) "baz"
-Unbuffered
-string(3) "foo"
-string(3) "bar"
-string(3) "baz"
-DONE!
diff --git a/main/php_version.h b/main/php_version.h
index 21948517ba..3e6cd9b157 100644
--- a/main/php_version.h
+++ b/main/php_version.h
@@ -2,6 +2,6 @@
/* edit configure.in to change version number */
#define PHP_MAJOR_VERSION 4
#define PHP_MINOR_VERSION 3
-#define PHP_RELEASE_VERSION 3
-#define PHP_EXTRA_VERSION "-dev"
-#define PHP_VERSION "4.3.3-dev"
+#define PHP_RELEASE_VERSION 2
+#define PHP_EXTRA_VERSION "RC4"
+#define PHP_VERSION "4.3.2RC4"
diff --git a/tests/lang/bug17115.phpt b/tests/lang/bug17115.phpt
deleted file mode 100644
index 0cb3bf44d2..0000000000
--- a/tests/lang/bug17115.phpt
+++ /dev/null
@@ -1,16 +0,0 @@
---TEST--
-Bug #17115 (lambda functions produce segfault with static vars)
---FILE--
-<?php
-$func = create_function('','
- static $foo = 0;
- return $foo++;
-');
-var_dump($func());
-var_dump($func());
-var_dump($func());
-?>
---EXPECT--
-int(0)
-int(1)
-int(2)