]> granicus.if.org Git - php/commitdiff
This commit was manufactured by cvs2svn to create branch 'PHP_5_1'.
authorSVN Migration <svn@php.net>
Mon, 8 Aug 2005 23:59:05 +0000 (23:59 +0000)
committerSVN Migration <svn@php.net>
Mon, 8 Aug 2005 23:59:05 +0000 (23:59 +0000)
50 files changed:
ext/enchant/CREDITS [deleted file]
ext/enchant/config.m4 [deleted file]
ext/enchant/config.w32 [deleted file]
ext/enchant/docs/examples/example1.php [deleted file]
ext/enchant/enchant.c [deleted file]
ext/enchant/package.xml [deleted file]
ext/enchant/php_enchant.h [deleted file]
ext/fileinfo/CREDITS [deleted file]
ext/fileinfo/EXPERIMENTAL [deleted file]
ext/fileinfo/config.m4 [deleted file]
ext/fileinfo/fileinfo.c [deleted file]
ext/fileinfo/fileinfo.php [deleted file]
ext/fileinfo/package.xml [deleted file]
ext/fileinfo/php_fileinfo.h [deleted file]
ext/filter/README [deleted file]
ext/filter/config.m4 [deleted file]
ext/filter/filter.c [deleted file]
ext/filter/filter.h [deleted file]
ext/filter/tests/001.phpt [deleted file]
ext/filter/tests/002.phpt [deleted file]
ext/filter/tests/003.phpt [deleted file]
ext/filter/tests/004.phpt [deleted file]
ext/filter/tests/005.phpt [deleted file]
ext/filter/tests/006.phpt [deleted file]
ext/imap/imap.h [deleted file]
ext/pcre/config0.m4 [deleted file]
ext/pdo_dblib/tests/common.phpt [deleted file]
ext/xmlwriter/CREDITS [deleted file]
ext/xmlwriter/TODO [deleted file]
ext/xmlwriter/config.m4 [deleted file]
ext/xmlwriter/config.w32 [deleted file]
ext/xmlwriter/examples/xmlwriter_file.php [deleted file]
ext/xmlwriter/examples/xmlwriter_mem.php [deleted file]
ext/xmlwriter/examples/xmlwriter_mem_ns.php [deleted file]
ext/xmlwriter/examples/xmlwriter_oo.php [deleted file]
ext/xmlwriter/package.xml [deleted file]
ext/xmlwriter/package2.xml [deleted file]
ext/xmlwriter/php_xmlwriter.c [deleted file]
ext/xmlwriter/php_xmlwriter.h [deleted file]
ext/xmlwriter/tests/001.phpt [deleted file]
ext/xmlwriter/tests/002.phpt [deleted file]
ext/xmlwriter/tests/003.phpt [deleted file]
ext/xmlwriter/tests/004.phpt [deleted file]
ext/xmlwriter/tests/005.phpt [deleted file]
ext/xmlwriter/tests/OO_001.phpt [deleted file]
ext/xmlwriter/tests/OO_002.phpt [deleted file]
ext/xmlwriter/tests/OO_003.phpt [deleted file]
ext/xmlwriter/tests/OO_004.phpt [deleted file]
ext/xmlwriter/tests/OO_005.phpt [deleted file]
main/php_realpath.c [deleted file]

diff --git a/ext/enchant/CREDITS b/ext/enchant/CREDITS
deleted file mode 100644 (file)
index 481febb..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-enchant
-Pierre-Alain Joye, Ilia Alshanetsky
diff --git a/ext/enchant/config.m4 b/ext/enchant/config.m4
deleted file mode 100755 (executable)
index b59cd8f..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-dnl
-dnl $Id$
-dnl
-
-PHP_ARG_WITH(enchant,for ENCHANT support,
-[  --with-enchant[=DIR]     Include enchant support.
-                          GNU Aspell version 1.1.3 or higher required.])
-
-if test "$PHP_ENCHANT" != "no"; then
-       PHP_NEW_EXTENSION(enchant, enchant.c, $ext_shared)
-       if test "$PHP_ENCHANT" != "yes"; then
-           ENCHANT_SEARCH_DIRS=$PHP_ENCHANT
-       else
-           ENCHANT_SEARCH_DIRS="/usr/local /usr"
-       fi
-       for i in $ENCHANT_SEARCH_DIRS; do
-               if test -f $i/include/enchant/enchant.h; then
-                       ENCHANT_DIR=$i
-                       ENCHANT_INCDIR=$i/include/enchant
-               elif test -f $i/include/enchant.h; then
-                       ENCHANT_DIR=$i
-                       ENCHANT_INCDIR=$i/include
-               fi
-       done
-
-       if test -z "$ENCHANT_DIR"; then
-               AC_MSG_ERROR(Cannot find enchant)
-       fi
-
-       ENCHANT_LIBDIR=$ENCHANT_DIR/lib
-
-       AC_DEFINE(HAVE_ENCHANT,1,[ ])
-       PHP_SUBST(ENCHANT_SHARED_LIBADD)
-       PHP_ADD_LIBRARY_WITH_PATH(enchant, $ENCHANT_LIBDIR, ENCHANT_SHARED_LIBADD)
-       PHP_ADD_INCLUDE($ENCHANT_INCDIR)
-fi
diff --git a/ext/enchant/config.w32 b/ext/enchant/config.w32
deleted file mode 100644 (file)
index f9ba6be..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-// $Id$
-// vim:ft=javascript
-
-ARG_ENABLE("enchant", "Enchant Support", "no");
-
-if (PHP_ENCHANT == "yes") {
-       if (CHECK_HEADER_ADD_INCLUDE("enchant.h", "CFLAGS_ENCHANT", PHP_ENCHANT)) {
-               EXTENSION("enchant", "enchant.c");
-               AC_DEFINE('HAVE_ENCHANT', 1, 'Have Enchant support', false);
-       } else {
-               WARNING('Could not find enchant.h; skipping');
-       }
-}
diff --git a/ext/enchant/docs/examples/example1.php b/ext/enchant/docs/examples/example1.php
deleted file mode 100644 (file)
index 9d503f7..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-$tag = 'en_US';
-$r = enchant_broker_init();
-$bprovides = enchant_broker_describe($r);
-echo "Current broker provides the following backend(s):\n";
-print_r($bprovides);
-
-
-if (enchant_broker_dict_exists($r,$tag)) {
-       $d = enchant_broker_request_dict($r, $tag);
-       $dprovides = enchant_dict_describe($d);
-       echo "dictionary $tag provides:\n";
-       $spellerrors = enchant_dict_check($d, "soong");
-       print_r($dprovides);
-       echo "found $spellerrors spell errors\n";
-       if ($spellerrors) {
-               $suggs = enchant_dict_suggest($d, "soong");
-               echo "Suggestions for 'soong':";
-               print_r($suggs);
-       }
-       enchant_broker_free_dict($d);
-} else {
-}
-enchant_broker_free($r);
-?>
diff --git a/ext/enchant/enchant.c b/ext/enchant/enchant.c
deleted file mode 100755 (executable)
index b92fa9d..0000000
+++ /dev/null
@@ -1,731 +0,0 @@
-/*
-  +----------------------------------------------------------------------+
-  | PHP Version 5                                                        |
-  +----------------------------------------------------------------------+
-  | Copyright (c) 1997-2004 The PHP Group                                |
-  +----------------------------------------------------------------------+
-  | This source file is subject to version 3.0 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/3_0.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: Pierre-Alain Joye <paj@pearfr.org>                           |
-  |         Ilia Alshanetsky <ilia@prohost.org>                          |
-  +----------------------------------------------------------------------+
-
-  $Id$
-*/
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-#include "enchant.h"
-#include "php.h"
-#include "php_ini.h"
-#include "ext/standard/info.h"
-#include "php_enchant.h"
-
-
-typedef EnchantBroker * EnchantBrokerPtr;
-typedef struct _broker_struct enchant_broker;
-typedef struct _dict_struct enchant_dict;
-
-typedef enchant_broker * enchant_brokerPtr;
-typedef enchant_dict * enchant_dictPtr;
-
-typedef struct _broker_struct {
-       EnchantBroker   *pbroker;
-       enchant_dict    **dict;
-       unsigned int    dictcnt;
-       zval                    *rsrc_id;
-} _enchant_broker;
-
-typedef struct _dict_struct {
-       unsigned int    id;
-       EnchantDict             *pdict;
-       enchant_broker  *pbroker;
-       zval                    *rsrc_id;
-       enchant_dict    *next;
-       enchant_dict    *prev;
-} _enchant_dict;
-
-
-/* True global resources - no need for thread safety here */
-static int le_enchant_broker;
-static int le_enchant_dict;
-
-/* If you declare any globals in php_enchant.h uncomment this:*/
-/*ZEND_DECLARE_MODULE_GLOBALS(enchant)*/
-
-/* {{{ enchant_functions[]
- *
- * Every user visible function must have an entry in enchant_functions[].
- */
-function_entry enchant_functions[] = {
-       PHP_FE(enchant_broker_init, NULL)
-       PHP_FE(enchant_broker_free, NULL)
-       PHP_FE(enchant_broker_get_error, NULL)
-       PHP_FE(enchant_broker_request_dict,     NULL)
-       PHP_FE(enchant_broker_request_pwl_dict, NULL)
-       PHP_FE(enchant_broker_free_dict, NULL)
-       PHP_FE(enchant_broker_dict_exists, NULL)
-       PHP_FE(enchant_broker_set_ordering, NULL)
-       PHP_FE(enchant_broker_describe, NULL)
-       PHP_FE(enchant_dict_check, NULL)
-       PHP_FE(enchant_dict_suggest, NULL)
-       PHP_FE(enchant_dict_add_to_personal, NULL)
-       PHP_FE(enchant_dict_add_to_session, NULL)
-       PHP_FE(enchant_dict_is_in_session, NULL)
-       PHP_FE(enchant_dict_store_replacement, NULL)
-       PHP_FE(enchant_dict_get_error, NULL)
-       PHP_FE(enchant_dict_describe, NULL)
-       PHP_FE(enchant_dict_quick_check, third_arg_force_ref)
-
-       {NULL, NULL, NULL}      /* Must be the last line in enchant_functions[] */
-};
-/* }}} */
-
-/* {{{ enchant_module_entry
- */
-zend_module_entry enchant_module_entry = {
-#if ZEND_MODULE_API_NO >= 20010901
-       STANDARD_MODULE_HEADER,
-#endif
-       "enchant",
-       enchant_functions,
-       PHP_MINIT(enchant),
-       PHP_MSHUTDOWN(enchant),
-       NULL,   /* Replace with NULL if there's nothing to do at request start */
-       NULL,   /* Replace with NULL if there's nothing to do at request end */
-       PHP_MINFO(enchant),
-#if ZEND_MODULE_API_NO >= 20010901
-       "0.1", /* Replace with version number for your extension */
-#endif
-       STANDARD_MODULE_PROPERTIES
-};
-/* }}} */
-
-#ifdef COMPILE_DL_ENCHANT
-ZEND_GET_MODULE(enchant)
-#endif
-
-static void
-enumerate_providers_fn (const char * const name,
-                        const char * const desc,
-                        const char * const file,
-                        void * ud)
-{
-       zval *zdesc = (zval *) ud;
-       zval *tmp_array;
-
-       MAKE_STD_ZVAL(tmp_array);
-       array_init(tmp_array);
-
-       add_assoc_string(tmp_array, "name", (char *)name, 1);
-       add_assoc_string(tmp_array, "desc", (char *)desc, 1);
-       add_assoc_string(tmp_array, "file", (char *)file, 1);
-
-       if (Z_TYPE_P(zdesc)!=IS_ARRAY) {
-               array_init(zdesc);
-       }
-
-       add_next_index_zval(zdesc, tmp_array);
-}
-
-static void
-describe_dict_fn (const char * const lang,
-                  const char * const name,
-                  const char * const desc,
-                  const char * const file,
-                  void * ud)
-{
-       zval *zdesc = (zval *) ud;
-       array_init(zdesc);
-       add_assoc_string(zdesc, "lang", (char *)lang, 1);
-       add_assoc_string(zdesc, "name", (char *)name, 1);
-       add_assoc_string(zdesc, "desc", (char *)desc, 1);
-       add_assoc_string(zdesc, "file", (char *)file, 1);
-}
-
-static void php_enchant_broker_free(zend_rsrc_list_entry *rsrc TSRMLS_DC)
-{
-       if (rsrc->ptr) {
-               enchant_broker *broker = (enchant_broker *)rsrc->ptr;
-               if (broker) {
-                       if (broker->pbroker) {
-                               if (broker->dictcnt && broker->dict) {
-                                       if (broker->dict) {
-                                               int total, tofree;
-                                               tofree = total = broker->dictcnt-1;
-                                               do {
-                                                       zend_list_delete(Z_RESVAL_P(broker->dict[total]->rsrc_id));
-                                                       efree(broker->dict[total]);
-                                                       total--;
-                                               } while (total>=0);
-                                       }
-                                       efree(broker->dict);
-                                       broker->dict = NULL;
-                               }
-                               enchant_broker_free(broker->pbroker);
-                       }
-                       efree(broker);
-               }
-       }
-}
-
-static void php_enchant_dict_free(zend_rsrc_list_entry *rsrc TSRMLS_DC)
-{
-       if (rsrc->ptr) {
-               enchant_dict *pdict = (enchant_dict *)rsrc->ptr;
-               if (pdict) {
-                       if (pdict->pdict && pdict->pbroker) {
-                               enchant_broker_free_dict(pdict->pbroker->pbroker, pdict->pdict);
-                       }
-                       if (pdict->id) {
-                               pdict->pbroker->dict[pdict->id-1]->next = NULL;
-                       }
-               }
-       }
-}
-
-/* {{{ PHP_MINIT_FUNCTION
- */
-PHP_MINIT_FUNCTION(enchant)
-{
-       le_enchant_broker = zend_register_list_destructors_ex(php_enchant_broker_free, NULL, "enchant broker", module_number);
-       le_enchant_dict = zend_register_list_destructors_ex(php_enchant_dict_free, NULL, "enchant dict", module_number);
-
-       return SUCCESS;
-}
-/* }}} */
-
-/* {{{ PHP_MSHUTDOWN_FUNCTION
- */
-PHP_MSHUTDOWN_FUNCTION(enchant)
-{
-       return SUCCESS;
-}
-/* }}} */
-
-/* {{{ PHP_MINFO_FUNCTION
- */
-static void __enumerate_providers_fn (const char * const name,
-                        const char * const desc,
-                        const char * const file,
-                        void * ud)
-{
-       php_info_print_table_row(3, name, desc, file);
-}
-/* }}} */
-
-/* {{{ PHP_MINFO_FUNCTION
- */
-PHP_MINFO_FUNCTION(enchant)
-{
-       EnchantBroker *pbroker;
-
-       pbroker = enchant_broker_init();
-       php_info_print_table_start();
-       php_info_print_table_header(2, "enchant support", "enabled");
-       php_info_print_table_row(2, "Version", "@version@");
-       php_info_print_table_row(2, "Revision", "$Revision$");
-       php_info_print_table_end();
-
-       php_info_print_table_start();
-       enchant_broker_describe(pbroker, __enumerate_providers_fn, NULL);
-       php_info_print_table_end();
-       enchant_broker_free(pbroker);
-}
-/* }}} */
-
-#define PHP_ENCHANT_GET_BROKER \
-       ZEND_FETCH_RESOURCE(pbroker, enchant_broker *, &broker, -1, "enchant_broker", le_enchant_broker);       \
-       if (!pbroker || !pbroker->pbroker) {    \
-               php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", "Resource broker invalid");   \
-               RETURN_FALSE;   \
-       }
-
-#define PHP_ENCHANT_GET_DICT   \
-       ZEND_FETCH_RESOURCE(pdict, enchant_dict *, &dict, -1, "enchant dict", le_enchant_dict); \
-       if (!pdict || !pdict->pdict) {  \
-               php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", "Invalid dictionary resource.");      \
-               RETURN_FALSE;   \
-       }
-
-/* {{{ proto resource enchant_broker_init()
-   create a new broker object capable of requesting */
-PHP_FUNCTION(enchant_broker_init)
-{
-       enchant_broker *broker;
-       EnchantBroker *pbroker;
-
-       if (ZEND_NUM_ARGS()) {
-               ZEND_WRONG_PARAM_COUNT();
-       }
-
-       pbroker = enchant_broker_init();
-
-       if (pbroker) {
-               broker = (enchant_broker *) emalloc(sizeof(enchant_broker));
-               broker->pbroker = pbroker;
-               broker->dict = NULL;
-               broker->dictcnt = 0;
-               ZEND_REGISTER_RESOURCE(return_value, broker, le_enchant_broker);
-               broker->rsrc_id = return_value;
-       } else {
-               RETURN_FALSE;
-       }
-}
-/* }}} */
-
-/* {{{ proto boolean enchant_free(resource broker)
-   Destroys the broker object and its dictionnaries */
-PHP_FUNCTION(enchant_broker_free)
-{
-       zval *broker;
-       enchant_broker *pbroker;
-
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &broker) == FAILURE) {
-               RETURN_FALSE;
-       }
-       PHP_ENCHANT_GET_BROKER;
-
-       zend_list_delete(Z_RESVAL_P(broker));
-       RETURN_TRUE;
-}
-/* }}} */
-
-/* {{{ proto string enchant_broker_get_error(resource broker)
-   Returns the last error of the broker */
-PHP_FUNCTION(enchant_broker_get_error)
-{
-       zval *broker;
-       enchant_broker *pbroker;
-       char *msg;
-
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &broker) == FAILURE) {
-               RETURN_FALSE;
-       }
-
-       PHP_ENCHANT_GET_BROKER;
-
-       msg = enchant_broker_get_error(pbroker->pbroker);
-       if (msg) {
-               RETURN_STRING((char *)msg, 1);
-       }
-       RETURN_FALSE;
-}
-/* }}} */
-
-/* {{{ proto resource enchant_broker_request_dict(resource broker, string tag)
-       create a new dictionary using tag, the non-empty language tag you wish to request
-       a dictionary for ("en_US", "de_DE", ...) */
-PHP_FUNCTION(enchant_broker_request_dict)
-{
-       zval *broker;
-       enchant_broker *pbroker;
-       enchant_dict *dict;
-       EnchantDict *d;
-       char *tag;
-       int taglen;
-       int pos;
-
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs", &broker, &tag, &taglen) == FAILURE) {
-               RETURN_FALSE;
-       }
-
-       PHP_ENCHANT_GET_BROKER;
-
-       d = enchant_broker_request_dict(pbroker->pbroker, (const char *)tag);
-       if (d) {
-               if (pbroker->dictcnt) {
-                       pbroker->dict = (enchant_dict **)erealloc(pbroker->dict, sizeof(enchant_dict *) * pbroker->dictcnt);
-                       pos = pbroker->dictcnt++;
-               } else {
-                       pbroker->dict = (enchant_dict **)emalloc(sizeof(enchant_dict *));
-                       pos = 0;
-                       pbroker->dictcnt++;
-               }
-
-               dict = pbroker->dict[pos] = (enchant_dict *)emalloc(sizeof(enchant_dict));
-               dict->id = pos;
-               dict->pbroker = pbroker;
-               dict->pdict = d;
-               dict->rsrc_id = return_value;
-               dict->prev = pos ? pbroker->dict[pos-1] : NULL;
-               dict->next = NULL;
-               pbroker->dict[pos] = dict;
-
-               if (pos) {
-                       pbroker->dict[pos-1]->next = dict;
-               }
-
-               ZEND_REGISTER_RESOURCE(return_value, dict, le_enchant_dict);
-       } else {
-               RETURN_FALSE;
-       }
-}
-/* }}} */
-
-/* {{{ proto resource enchant_broker_request_pwl_dict(resource dict, string filename)
-   creates a dictionary using a PWL file. A PWL file is personal word file one word per line.
-   It must exist before the call.*/
-PHP_FUNCTION(enchant_broker_request_pwl_dict)
-{
-       zval *broker;
-       enchant_broker *pbroker;
-       enchant_dict *dict;
-       EnchantDict *d;
-       char *pwl;
-       int pwllen;
-       int pos;
-
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs", &broker, &pwl, &pwllen) == FAILURE) {
-               RETURN_FALSE;
-       }
-
-       if ((PG(safe_mode) && (!php_checkuid(pwl, NULL, CHECKUID_CHECK_FILE_AND_DIR))) || php_check_open_basedir(pwl TSRMLS_CC)) {
-               RETURN_FALSE;
-       }
-
-       PHP_ENCHANT_GET_BROKER;
-
-       d = enchant_broker_request_pwl_dict(pbroker->pbroker, (const char *)pwl);
-       if (d) {
-               if (pbroker->dictcnt) {
-                       pos = pbroker->dictcnt++;
-                       pbroker->dict = (enchant_dict **)erealloc(pbroker->dict, sizeof(enchant_dict *) * pbroker->dictcnt);
-               } else {
-                       pbroker->dict = (enchant_dict **)emalloc(sizeof(enchant_dict *));
-                       pos = 0;
-                       pbroker->dictcnt++;
-               }
-               dict = pbroker->dict[pos] = (enchant_dict *)emalloc(sizeof(enchant_dict));
-               dict->id = pos;
-               dict->pbroker = pbroker;
-               dict->pdict = d;
-               dict->rsrc_id = return_value;
-               dict->prev = pos?pbroker->dict[pos-1]:NULL;
-               dict->next = NULL;
-               pbroker->dict[pos] = dict;
-               if (pos) {
-                       pbroker->dict[pos-1]->next = dict;
-               }
-               ZEND_REGISTER_RESOURCE(return_value, dict, le_enchant_dict);
-       } else {
-               RETURN_FALSE;
-       }
-}
-/* }}} */
-
-/* {{{ proto resource enchant_broker_free_dict(resource dict)
-   Free the dictionary resource */
-PHP_FUNCTION(enchant_broker_free_dict)
-{
-       zval *dict;
-       enchant_dict *pdict;
-
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &dict) == FAILURE) {
-               RETURN_FALSE;
-       }
-
-       PHP_ENCHANT_GET_DICT;
-
-       zend_list_delete(Z_RESVAL_P(dict));
-       RETURN_TRUE;
-}
-/* }}} */
-
-/* {{{ proto bool enchant_broker_dict_exists(resource broker, string tag)
-   Wether a dictionary exists or not. Using non-empty tag */
-PHP_FUNCTION(enchant_broker_dict_exists)
-{
-       zval *broker;
-       char *tag;
-       int taglen;
-       enchant_broker * pbroker;
-
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs", &broker, &tag, &taglen) == FAILURE) {
-               RETURN_FALSE;
-       }
-
-       PHP_ENCHANT_GET_BROKER;
-
-       RETURN_BOOL(enchant_broker_dict_exists(pbroker->pbroker, tag));
-}
-/* }}} */
-
-
-/* {{{ proto bool enchant_broker_set_ordering(resource broker, string tag, string ordering)
-       Declares a preference of dictionaries to use for the language
-       described/referred to by 'tag'. The ordering is a comma delimited
-       list of provider names. As a special exception, the "*" tag can
-       be used as a language tag to declare a default ordering for any
-       language that does not explictly declare an ordering. */
-
-PHP_FUNCTION(enchant_broker_set_ordering)
-{
-       zval *broker;
-       char *pordering;
-       int porderinglen;
-       char *ptag;
-       int ptaglen;
-       enchant_broker * pbroker;
-
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rss", &broker, &ptag, &ptaglen, &pordering, &porderinglen) == FAILURE) {
-               RETURN_FALSE;
-       }
-
-       PHP_ENCHANT_GET_BROKER;
-
-       enchant_broker_set_ordering(pbroker->pbroker, ptag, pordering);
-       RETURN_TRUE;
-}
-/* }}} */
-
-/* {{{ proto array enchant_broker_describe(resource broker)
-       Enumerates the Enchant providers and tells
-       you some rudimentary information about them. The same info is provided through phpinfo() */
-PHP_FUNCTION(enchant_broker_describe)
-{
-       EnchantBrokerDescribeFn describetozval = enumerate_providers_fn;
-       zval *broker;
-       enchant_broker * pbroker;
-
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &broker) == FAILURE) {
-               RETURN_FALSE;
-       }
-
-       PHP_ENCHANT_GET_BROKER;
-
-       enchant_broker_describe(pbroker->pbroker, describetozval, (void *)return_value);
-}
-/* }}} */
-
-/* {{{ proto bool enchant_dict_quick_check(resource dict, string word [, array &suggestions])
-    If the word is correctly spelled return true, otherwise return false, if suggestions variable
-    is provided, fill it with spelling alternatives. */
-PHP_FUNCTION(enchant_dict_quick_check)
-{
-       zval *dict, *sugg = NULL;
-       char *word;
-       int wordlen;
-       enchant_dict *pdict;
-
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs|z/", &dict, &word, &wordlen, &sugg) == FAILURE) {
-               RETURN_FALSE;
-       }
-
-       if (sugg) {
-               zval_dtor(sugg);
-       }
-
-       PHP_ENCHANT_GET_DICT;
-
-       if (enchant_dict_check(pdict->pdict, word, wordlen) > 0) {
-               if (!sugg && ZEND_NUM_ARGS() == 2) {
-                       RETURN_FALSE;
-               }
-
-               int n_sugg;
-               char **suggs;
-
-               array_init(sugg);
-
-               suggs = enchant_dict_suggest(pdict->pdict, word, wordlen, &n_sugg);
-               if (suggs && n_sugg) {
-                       int i;
-                       for (i = 0; i < n_sugg; i++) {
-                               add_next_index_string(sugg, suggs[i], 1);
-                       }
-                       enchant_dict_free_suggestions(pdict->pdict, suggs);
-               }
-
-
-               RETURN_FALSE;
-       }
-       RETURN_TRUE;
-}
-/* }}} */
-
-/* {{{ proto bool enchant_dict_check(resource dict, string word)
-    If the word is correctly spelled return true, otherwise return false */
-PHP_FUNCTION(enchant_dict_check)
-{
-       zval *dict;
-       char *word;
-       int wordlen;
-       enchant_dict *pdict;
-
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs", &dict, &word, &wordlen) == FAILURE) {
-               RETURN_FALSE;
-       }
-
-       PHP_ENCHANT_GET_DICT;
-
-       RETURN_BOOL(!enchant_dict_check(pdict->pdict, word, wordlen));
-}
-/* }}} */
-
-/* {{{ proto array enchant_dict_suggest(resource dict, string word)
-    Will return a list of values if any of those pre-conditions are not met.*/
-PHP_FUNCTION(enchant_dict_suggest)
-{
-       zval *dict;
-       char *word;
-       int wordlen;
-       char **suggs;
-       enchant_dict *pdict;
-       int n_sugg;
-
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs", &dict, &word, &wordlen) == FAILURE) {
-               RETURN_FALSE;
-       }
-
-       PHP_ENCHANT_GET_DICT;
-
-       suggs = enchant_dict_suggest(pdict->pdict, word, wordlen, &n_sugg);
-       if (suggs && n_sugg) {
-               int i;
-
-               array_init(return_value);
-               for (i = 0; i < n_sugg; i++) {
-                       add_next_index_string(return_value, suggs[i], 1);
-               }
-
-               enchant_dict_free_suggestions(pdict->pdict, suggs);
-       }
-}
-/* }}} */
-
-/* {{{ proto void enchant_dict_add_to_personal(resource dict, string word)
-     add 'word' to personal word list */
-PHP_FUNCTION(enchant_dict_add_to_personal)
-{
-       zval *dict;
-       char *word;
-       int wordlen;
-       enchant_dict *pdict;
-
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs", &dict, &word, &wordlen) == FAILURE) {
-               RETURN_FALSE;
-       }
-
-       PHP_ENCHANT_GET_DICT;
-
-       enchant_dict_add_to_personal(pdict->pdict, word, wordlen);
-}
-/* }}} */
-
-/* {{{ proto void enchant_dict_add_to_session(resource dict, string word)
-   add 'word' to this spell-checking session */
-PHP_FUNCTION(enchant_dict_add_to_session)
-{
-       zval *dict;
-       char *word;
-       int wordlen;
-       enchant_dict *pdict;
-
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs", &dict, &word, &wordlen) == FAILURE) {
-               RETURN_FALSE;
-       }
-
-       PHP_ENCHANT_GET_DICT;
-
-       enchant_dict_add_to_session(pdict->pdict, word, wordlen);
-}
-/* }}} */
-
-/* {{{ proto bool enchant_dict_is_in_session(resource dict, string word)
-   whether or not 'word' exists in this spelling-session */
-PHP_FUNCTION(enchant_dict_is_in_session)
-{
-       zval *dict;
-       char *word;
-       int wordlen;
-       enchant_dict *pdict;
-
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs", &dict, &word, &wordlen) == FAILURE) {
-               RETURN_FALSE;
-       }
-
-       PHP_ENCHANT_GET_DICT;
-
-       RETURN_BOOL(enchant_dict_is_in_session(pdict->pdict, word, wordlen));
-}
-/* }}} */
-
-/* {{{ proto void enchant_dict_store_replacement(resource dict, string mis, string cor)
-       add a correction for 'mis' using 'cor'.
-       Notes that you replaced @mis with @cor, so it's possibly more likely
-       that future occurrences of @mis will be replaced with @cor. So it might
-       bump @cor up in the suggestion list.*/
-PHP_FUNCTION(enchant_dict_store_replacement)
-{
-       zval *dict;
-       char *mis, *cor;
-       int mislen, corlen;
-
-       enchant_dict *pdict;
-
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rss", &dict, &mis, &mislen, &cor, &corlen) == FAILURE) {
-               RETURN_FALSE;
-       }
-
-       PHP_ENCHANT_GET_DICT;
-
-       enchant_dict_store_replacement(pdict->pdict, mis, mislen, cor, corlen);
-}
-/* }}} */
-
-/* {{{ proto string enchant_dict_get_error(resource dict)
-   Returns the last error of the current spelling-session */
-PHP_FUNCTION(enchant_dict_get_error)
-{
-       zval *dict;
-       enchant_dict *pdict;
-       char *msg;
-
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &dict) == FAILURE) {
-               RETURN_FALSE;
-       }
-
-       PHP_ENCHANT_GET_DICT;
-
-       msg = enchant_dict_get_error(pdict->pdict);
-       if (msg) {
-               RETURN_STRING((char *)msg, 1);
-       }
-
-       RETURN_FALSE;
-}
-/* }}} */
-
-/* {{{ proto array enchant_dict_describe(resource dict)
-   Describes an individual dictionary 'dict' */
-PHP_FUNCTION(enchant_dict_describe)
-{
-       zval *dict;
-       enchant_dict *pdict;
-
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &dict) == FAILURE) {
-               RETURN_FALSE;
-       }
-
-       PHP_ENCHANT_GET_DICT;
-
-       enchant_dict_describe(pdict->pdict, describe_dict_fn, (void *)return_value);
-}
-/* }}} */
-
-/*
- * Local variables:
- * tab-width: 4
- * c-basic-offset: 4
- * End:
- * vim600: noet sw=4 ts=4 fdm=marker
- * vim<600: noet sw=4 ts=4
- */
diff --git a/ext/enchant/package.xml b/ext/enchant/package.xml
deleted file mode 100755 (executable)
index 6bc17c7..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!DOCTYPE package SYSTEM "../pear/package.dtd">
-<package>
- <name>enchant</name>
- <summary>libenchant binder, support near all spelling tools</summary>
- <maintainers>
-  <maintainer>
-   <user>pajoye</user>
-   <name>Pierre-Alain Joye</name>
-   <email>paj@pearfr.org</email>
-   <role>lead</role>
-  </maintainer>
-  <maintainer>
-   <user>iliaa</user>
-   <name>Ilia Alshanetsky</name>
-   <email>ilia@php.net</email>
-   <role>lead</role>
-  </maintainer>
- </maintainers>
- <description>Enchant is a binder for libenchant. Libenchant provides a common
-API for many spell libraries:
-- aspell/pspell (intended to replace ispell)
-- hspell (hebrew)
-- ispell 
-- myspell (OpenOffice project, mozilla)
-- uspell (primarily Yiddish, Hebrew, and Eastern European languages)
-A plugin system allows to add custom spell support.
-see www.abisource.com/enchant/</description>
- <license>PHP</license>
- <release>
-  <state>stable</state>
-  <version>1.0</version>
-  <date>2004-08-11</date>
-  <notes>- Fixed leak inside MINFO function.
-- Fixed crash inside enchant_dict_suggest() when there are no suggestions.
-- Added missing safe_mode/open_basedir check inside enchant_broker_request_pwl_dict().
-- Fixed various function prototypes.
-- Fixed possible leak in suggestions result.</notes>
-  <filelist>
-   <file role="src" name="config.m4"/>
-   <file role="src" name="config.w32"/>
-   <file role="src" name="enchant.c"/>
-   <file role="src" name="php_enchant.h"/>
-   <file role="doc" name="CREDITS"/>
-   <dir name="docs" role="doc">
-     <dir name="examples">
-       <file name="example1.php"/>
-     </dir>
-   </dir>
-  </filelist>
-  <configureoptions>
-   <configureoption name="with-enchant" default="shared" prompt="libenchant prefix?"/>
-  </configureoptions>
-  <deps>
-   <dep type="php" rel="ge" version="5" />
-  </deps>
- </release>
- <changelog>
-  <release>
-   <state>beta</state>
-   <version>0.2.1</version>
-   <date>2004-03-11</date>
-   <notes>- Fix possible leak in suggestions result
-- Move to beta status</notes>
-  </release>
-  <release>
-   <state>alpha</state>
-   <version>0.2.0</version>
-   <notes>- Add Ilia Alshanetsky as maintainer
-- Cleanup sources codes (ilia)
-- Add enchant_dict_quick_check (ilia)</notes>
-  </release>
-  <release>
-   <version>0.1</version>
-   <state>alpha</state>
-   <date>2003-03-08</date>
-   <notes>Initial release</notes>
-  </release>
- </changelog>
-</package>
-<!--
-vim:et:ts=1:sw=1
--->
diff --git a/ext/enchant/php_enchant.h b/ext/enchant/php_enchant.h
deleted file mode 100644 (file)
index e0d9873..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
-  +----------------------------------------------------------------------+
-  | PHP Version 4                                                        |
-  +----------------------------------------------------------------------+
-  | Copyright (c) 1997-2003 The PHP Group                                |
-  +----------------------------------------------------------------------+
-  | This source file is subject to version 3.0 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/3_0.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: Pierre-Alain Joye <paj@pearfr.org>                           |
-  +----------------------------------------------------------------------+
-
-  $Id$
-*/
-
-#ifndef PHP_ENCHANT_H
-#define PHP_ENCHANT_H
-
-extern zend_module_entry enchant_module_entry;
-#define phpext_enchant_ptr &enchant_module_entry
-
-#ifdef PHP_WIN32
-#define PHP_ENCHANT_API __declspec(dllexport)
-#else
-#define PHP_ENCHANT_API
-#endif
-
-#ifdef ZTS
-#include "TSRM.h"
-#endif
-
-static void php_enchant_broker_free(zend_rsrc_list_entry *rsrc TSRMLS_DC);
-static void php_enchant_dict_free(zend_rsrc_list_entry *rsrc TSRMLS_DC);
-
-PHP_MINIT_FUNCTION(enchant);
-PHP_MSHUTDOWN_FUNCTION(enchant);
-PHP_MINFO_FUNCTION(enchant);
-
-PHP_FUNCTION(enchant_broker_init);
-PHP_FUNCTION(enchant_broker_free);
-PHP_FUNCTION(enchant_broker_get_error);
-PHP_FUNCTION(enchant_broker_request_dict);
-PHP_FUNCTION(enchant_broker_request_pwl_dict);
-PHP_FUNCTION(enchant_broker_free_dict);
-PHP_FUNCTION(enchant_broker_dict_exists);
-PHP_FUNCTION(enchant_broker_set_ordering);
-PHP_FUNCTION(enchant_broker_describe);
-
-PHP_FUNCTION(enchant_dict_check);
-PHP_FUNCTION(enchant_dict_suggest);
-PHP_FUNCTION(enchant_dict_add_to_personal);
-PHP_FUNCTION(enchant_dict_add_to_session);
-PHP_FUNCTION(enchant_dict_is_in_session);
-PHP_FUNCTION(enchant_dict_store_replacement);
-PHP_FUNCTION(enchant_dict_get_error);
-PHP_FUNCTION(enchant_dict_describe);
-PHP_FUNCTION(enchant_dict_quick_check);
-
-#ifdef ZTS
-#define ENCHANT_G(v) TSRMG(enchant_globals_id, zend_enchant_globals *, v)
-#else
-#define ENCHANT_G(v) (enchant_globals.v)
-#endif
-
-#endif /* PHP_ENCHANT_H */
-
-
-/*
- * Local variables:
- * tab-width: 4
- * c-basic-offset: 4
- * indent-tabs-mode: t
- * End:
- */
-
diff --git a/ext/fileinfo/CREDITS b/ext/fileinfo/CREDITS
deleted file mode 100644 (file)
index 6251d1b..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-fileinfo
-Ilia Alshanetsky
diff --git a/ext/fileinfo/EXPERIMENTAL b/ext/fileinfo/EXPERIMENTAL
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/ext/fileinfo/config.m4 b/ext/fileinfo/config.m4
deleted file mode 100644 (file)
index f1c15c0..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-dnl $Id$
-dnl config.m4 for extension fileinfo
-
-PHP_ARG_WITH(fileinfo, for fileinfo support,
-[  --with-fileinfo=DIR   Include fileinfo support])
-
-if test "$PHP_FILEINFO" != "no"; then
-  SEARCH_PATH="/usr/local /usr /usr/share/file"
-  if test -r $PHP_FILEINFO/include/magic.h || test -r $PHP_FILEINFO/magic.h; then
-    FILEINFO_DIR=$PHP_FILEINFO
-  else
-    AC_MSG_CHECKING([for magic files in default path])
-    for i in $SEARCH_PATH ; do
-      if test -r $i/include/magic.h || test -r $i/magic.h; then
-        FILEINFO_DIR=$i
-        AC_MSG_RESULT(found in $i)
-        break
-      fi
-    done
-  fi
-  
-  if test -z "$FILEINFO_DIR"; then
-    AC_MSG_RESULT([not found])
-    AC_MSG_ERROR([Please reinstall the libmagic distribution])
-  fi
-
-  if test -r "$FILEINFO_DIR/include/magic.h"; then
-      PHP_ADD_INCLUDE($FILEINFO_DIR/include)
-  else 
-      PHP_ADD_INCLUDE($FILEINFO_DIR)
-  fi
-
-  LIBNAME=magic
-  LIBSYMBOL=magic_open
-
-  PHP_CHECK_FUNC(dl, dlopen)
-  PHP_CHECK_FUNC(gzgets, z)
-  PHP_CHECK_FUNC(round, m)
-
-  PHP_CHECK_LIBRARY($LIBNAME,$LIBSYMBOL,
-  [
-    PHP_ADD_LIBRARY_WITH_PATH($LIBNAME, $FILEINFO_DIR/lib, FILEINFO_SHARED_LIBADD)
-    AC_DEFINE(HAVE_FILEINFOLIB,1,[ ])
-  ],[
-    AC_MSG_ERROR([wrong magic lib version or lib not found])
-  ],[
-    -L$FILEINFO_DIR/lib
-  ])
-
-  MAGIC_MIME_LOCATIONS="/usr/local/share/file/magic /usr/share/file/magic /usr/share/misc/file/magic /etc/magic /usr/share/misc"
-  for i in $MAGIC_MIME_LOCATIONS; do
-    if test -f $i; then
-       PHP_DEFAULT_MAGIC_FILE=$i
-       break
-    fi
-  done
-  AC_DEFINE_UNQUOTED(PHP_DEFAULT_MAGIC_FILE,"$PHP_DEFAULT_MAGIC_FILE",[magic file path])
-
-  PHP_SUBST(FILEINFO_SHARED_LIBADD)
-
-  PHP_NEW_EXTENSION(fileinfo, fileinfo.c, $ext_shared)
-fi
diff --git a/ext/fileinfo/fileinfo.c b/ext/fileinfo/fileinfo.c
deleted file mode 100644 (file)
index 92e7041..0000000
+++ /dev/null
@@ -1,433 +0,0 @@
-/*
-  +----------------------------------------------------------------------+
-  | PHP Version 5                                                        |
-  +----------------------------------------------------------------------+
-  | Copyright (c) 1997-2004 The PHP Group                                |
-  +----------------------------------------------------------------------+
-  | This source file is subject to version 3.0 of the PHP license,       |
-  | that is bundled with this package in the file LICENSE, and is        |
-  | available through the world-wide-web at the following url:           |
-  | http://www.php.net/license/3_0.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: Ilia Alshanetsky <ilia@php.net>                              |
-  +----------------------------------------------------------------------+
-*/
-
-/* $Id$ */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <magic.h>
-/* 
- * HOWMANY specifies the maximum offset libmagic will look at
- * this is currently hardcoded in the libmagic source but not exported
- */
-#ifndef HOWMANY
-#define HOWMANY 65536
-#endif
-
-
-#include "php.h"
-#include "php_ini.h"
-#include "ext/standard/info.h"
-#include "ext/standard/file.h" /* needed for context stuff */
-#include "php_fileinfo.h"
-#include "fopen_wrappers.h" /* needed for is_url */
-
-struct php_fileinfo {
-       long options;
-       struct magic_set *magic;
-};
-
-#ifndef PHP_DEFAULT_MAGIC_FILE
-#define PHP_DEFAULT_MAGIC_FILE NULL
-#endif
-
-#ifdef ZEND_ENGINE_2
-
-static zend_object_handlers finfo_object_handlers;
-zend_class_entry *finfo_class_entry;
-
-struct finfo_object {
-       zend_object zo;
-       struct php_fileinfo *ptr;
-};
-
-#define FILEINFO_DECLARE_INIT_OBJECT(object) \
-       zval *object = getThis();
-
-#define FILEINFO_REGISTER_OBJECT(_object, _ptr) \
-{ \
-       struct finfo_object *obj; \
-        obj = (struct finfo_object*)zend_object_store_get_object(_object TSRMLS_CC); \
-        obj->ptr = _ptr; \
-}
-
-#define FILEINFO_FROM_OBJECT(finfo, object) \
-{ \
-       struct finfo_object *obj = zend_object_store_get_object(object TSRMLS_CC); \
-       finfo = obj->ptr; \
-       if (!finfo) { \
-               php_error_docref(NULL TSRMLS_CC, E_WARNING, "The invalid fileinfo object."); \
-               RETURN_FALSE; \
-       } \
-}
-
-/* {{{ finfo_objects_dtor
- */
-static void finfo_objects_dtor(void *object, zend_object_handle handle TSRMLS_DC)
-{
-       struct finfo_object *intern = (struct finfo_object *) object;
-
-       if (intern->ptr) {
-               magic_close(intern->ptr->magic);
-               efree(intern->ptr);
-       }
-
-       efree(intern);
-}
-/* }}} */
-
-/* {{{ finfo_objects_new
- */
-PHP_FILEINFO_API zend_object_value finfo_objects_new(zend_class_entry *class_type TSRMLS_DC)
-{
-       zend_object_value retval;
-       struct finfo_object *intern;
-
-       intern = emalloc(sizeof(struct finfo_object));
-       intern->zo.ce = class_type;
-       intern->zo.in_get = 0;
-       intern->zo.in_set = 0;
-       intern->zo.properties = NULL;
-       intern->ptr = NULL;
-
-       retval.handle = zend_objects_store_put(intern, finfo_objects_dtor, NULL, NULL TSRMLS_CC);
-       retval.handlers = (zend_object_handlers *) &finfo_object_handlers;
-
-       return retval;
-}
-/* }}} */
-
-/* {{{ finfo_class_functions
- */
-function_entry finfo_class_functions[] = {
-       ZEND_ME_MAPPING(finfo,          finfo_open,     NULL)
-       ZEND_ME_MAPPING(set_flags,      finfo_set_flags,NULL)
-       ZEND_ME_MAPPING(file,           finfo_file,     NULL)
-       ZEND_ME_MAPPING(buffer,         finfo_buffer,   NULL)
-       {NULL, NULL, NULL}
-};
-/* }}} */
-
-#else 
-
-#define FILEINFO_REGISTER_OBJECT(_object, _ptr) {}
-#define FILEINFO_FROM_OBJECT(socket_id, object) {}
-
-#define FILEINFO_DECLARE_INIT_OBJECT(object)
-#define object 0
-
-#endif
-
-#define FINFO_SET_OPTION(magic, options) \
-       if (magic_setflags(magic, options) == -1) { \
-               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Failed to set option '%ld' %d:%s", \
-                               options, magic_errno(magic), magic_error(magic)); \
-               RETURN_FALSE; \
-       }
-
-/* True global resources - no need for thread safety here */
-static int le_fileinfo;
-
-void finfo_resource_destructor(zend_rsrc_list_entry *rsrc TSRMLS_DC)
-{
-       if (rsrc->ptr) {
-               struct php_fileinfo *finfo = (struct php_fileinfo *) rsrc->ptr;
-               magic_close(finfo->magic);
-               efree(rsrc->ptr);
-               rsrc->ptr = NULL;
-       }
-}
-
-/* {{{ fileinfo_functions[]
- */
-function_entry fileinfo_functions[] = {
-       PHP_FE(finfo_open,      NULL)
-       PHP_FE(finfo_close,     NULL)
-       PHP_FE(finfo_set_flags, NULL)
-       PHP_FE(finfo_file,      NULL)
-       PHP_FE(finfo_buffer,    NULL)
-       {NULL, NULL, NULL}
-};
-/* }}} */
-
-/* {{{ PHP_MINIT_FUNCTION
- */
-PHP_MINIT_FUNCTION(finfo)
-{
-#ifdef ZEND_ENGINE_2
-       zend_class_entry _finfo_class_entry;
-       INIT_CLASS_ENTRY(_finfo_class_entry, "finfo", finfo_class_functions);
-       _finfo_class_entry.create_object = finfo_objects_new;
-       finfo_class_entry = zend_register_internal_class(&_finfo_class_entry TSRMLS_CC);
-
-       /* copy the standard object handlers to you handler table */
-       memcpy(&finfo_object_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers));
-#endif /* ZEND_ENGINE_2 */
-
-       le_fileinfo = zend_register_list_destructors_ex(finfo_resource_destructor, NULL, "file_info", module_number);
-
-       REGISTER_LONG_CONSTANT("FILEINFO_NONE",                 MAGIC_NONE, CONST_CS|CONST_PERSISTENT);
-       REGISTER_LONG_CONSTANT("FILEINFO_SYMLINK",              MAGIC_SYMLINK, CONST_CS|CONST_PERSISTENT);
-       REGISTER_LONG_CONSTANT("FILEINFO_MIME",                 MAGIC_MIME, CONST_CS|CONST_PERSISTENT);
-       REGISTER_LONG_CONSTANT("FILEINFO_COMPRESS",             MAGIC_COMPRESS, CONST_CS|CONST_PERSISTENT);
-       REGISTER_LONG_CONSTANT("FILEINFO_DEVICES",              MAGIC_DEVICES, CONST_CS|CONST_PERSISTENT);
-       REGISTER_LONG_CONSTANT("FILEINFO_CONTINUE",             MAGIC_CONTINUE, CONST_CS|CONST_PERSISTENT);
-       REGISTER_LONG_CONSTANT("FILEINFO_PRESERVE_ATIME",       MAGIC_PRESERVE_ATIME, CONST_CS|CONST_PERSISTENT);
-       REGISTER_LONG_CONSTANT("FILEINFO_RAW",                  MAGIC_RAW, CONST_CS|CONST_PERSISTENT);
-
-       return SUCCESS;
-}
-/* }}} */
-
-/* {{{ fileinfo_module_entry
- */
-zend_module_entry fileinfo_module_entry = {
-#if ZEND_MODULE_API_NO >= 20010901
-       STANDARD_MODULE_HEADER,
-#endif
-       "fileinfo",
-       fileinfo_functions,
-       PHP_MINIT(finfo),
-       NULL,
-       NULL,   
-       NULL,
-       PHP_MINFO(fileinfo),
-#if ZEND_MODULE_API_NO >= 20010901
-       "0.1", /* Replace with version number for your extension */
-#endif
-       STANDARD_MODULE_PROPERTIES
-};
-/* }}} */
-
-#ifdef COMPILE_DL_FILEINFO
-ZEND_GET_MODULE(fileinfo)
-#endif
-
-/* {{{ PHP_MINFO_FUNCTION
- */
-PHP_MINFO_FUNCTION(fileinfo)
-{
-       php_info_print_table_start();
-       php_info_print_table_header(2, "fileinfo support", "enabled");
-       php_info_print_table_end();
-}
-/* }}} */
-
-/* {{{ proto resource finfo_open([int options [, string arg]])
-   Create a new fileinfo resource. */
-PHP_FUNCTION(finfo_open)
-{
-       long options = MAGIC_NONE;
-       char *file = PHP_DEFAULT_MAGIC_FILE;
-       int file_len = 0;
-       struct php_fileinfo *finfo;
-       FILEINFO_DECLARE_INIT_OBJECT(object)
-       char resolved_path[MAXPATHLEN];
-
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|ls", &options, &file, &file_len) == FAILURE) {
-               RETURN_FALSE;
-       }
-
-       if (file_len) { /* user specified filed, perform open_basedir checks */
-               if (!VCWD_REALPATH(file, resolved_path)) {
-                       RETURN_FALSE;
-               }
-               file = resolved_path;
-
-               if ((PG(safe_mode) && (!php_checkuid(file, NULL, CHECKUID_CHECK_FILE_AND_DIR))) || php_check_open_basedir(file TSRMLS_CC)) {
-                       RETURN_FALSE;
-               }
-       }
-
-       finfo = emalloc(sizeof(struct php_fileinfo));
-
-       finfo->options = options;
-       finfo->magic = magic_open(options);
-
-       if (finfo->magic == NULL) {
-               efree(finfo);
-               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid mode '%ld'.", options);
-               RETURN_FALSE;   
-       }
-
-       if (magic_load(finfo->magic, file) == -1) {
-               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Failed to load magic database at '%s'.", file);
-               magic_close(finfo->magic);
-               efree(finfo);
-               RETURN_FALSE;
-       }       
-
-       if (object) {
-               FILEINFO_REGISTER_OBJECT(object, finfo);
-       } else {
-               ZEND_REGISTER_RESOURCE(return_value, finfo, le_fileinfo);
-       }       
-}
-/* }}} */
-
-/* {{{ proto resource finfo_close(resource finfo)
-   Close fileinfo resource. */
-PHP_FUNCTION(finfo_close)
-{
-       struct php_fileinfo *finfo;
-       zval *zfinfo;
-
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &zfinfo) == FAILURE) {
-               RETURN_FALSE;
-       }
-       ZEND_FETCH_RESOURCE(finfo, struct php_fileinfo *, &zfinfo, -1, "file_info", le_fileinfo);
-
-       zend_list_delete(Z_RESVAL_P(zfinfo));
-
-       RETURN_TRUE;
-}
-/* }}} */
-
-/* {{{ proto bool finfo_set_flags(resource finfo, int options)
-   Set libmagic configuration options. */
-PHP_FUNCTION(finfo_set_flags)
-{
-       long options;
-       struct php_fileinfo *finfo;
-       zval *zfinfo;
-       FILEINFO_DECLARE_INIT_OBJECT(object)
-
-       if (object) {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &options) == FAILURE) {
-                       RETURN_FALSE;
-               }
-               FILEINFO_FROM_OBJECT(finfo, object);
-       } else {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "zl", &zfinfo, &options) == FAILURE) {
-                       RETURN_FALSE;
-               }
-               ZEND_FETCH_RESOURCE(finfo, struct php_fileinfo *, &zfinfo, -1, "file_info", le_fileinfo);
-       }
-
-       FINFO_SET_OPTION(finfo->magic, options)
-       finfo->options = options;
-
-       RETURN_TRUE;
-}
-/* }}} */
-
-static void _php_finfo_get_type(INTERNAL_FUNCTION_PARAMETERS, int mode)
-{
-       long options = 0;
-       char *buffer, *tmp, *ret_val;
-       int buffer_len;
-       struct php_fileinfo *finfo;
-       zval *zfinfo, *zcontext = NULL;
-       FILEINFO_DECLARE_INIT_OBJECT(object)
-
-       if (object) {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|lbz", &buffer, &buffer_len, &options, &zcontext) == FAILURE) {
-                       RETURN_FALSE;
-               }
-               FILEINFO_FROM_OBJECT(finfo, object);
-       } else {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "zs|lbz", &zfinfo, &buffer, &buffer_len, &options, &zcontext) == FAILURE) {
-                       RETURN_FALSE;
-               }
-               ZEND_FETCH_RESOURCE(finfo, struct php_fileinfo *, &zfinfo, -1, "file_info", le_fileinfo);
-       }       
-
-       /* Set options for the current file/buffer. */
-       if (options) {
-               FINFO_SET_OPTION(finfo->magic, options)
-       }
-
-       if (mode) { /* file */
-               /* determine if the file is a local file or remote URL */
-               char *tmp2;
-               php_stream_wrapper *wrap = php_stream_locate_url_wrapper(buffer, &tmp2, 0 TSRMLS_CC);
-               if (wrap && wrap->is_url) {
-#ifdef ZEND_ENGINE_2
-                       php_stream_context *context = php_stream_context_from_zval(zcontext, 0);
-#else 
-                       php_stream_context *context = NULL;
-#endif                 
-                       php_stream *stream = php_stream_open_wrapper_ex(buffer, "rb", 
-                                       ENFORCE_SAFE_MODE | REPORT_ERRORS, NULL, context);
-                       if (!stream) {
-                               RETURN_FALSE;
-                       }
-                       buffer_len = php_stream_copy_to_mem(stream, &tmp, HOWMANY, 0);
-                       php_stream_close(stream);
-
-                       if (buffer_len == 0) {
-                               RETURN_FALSE;
-                       }
-               } else { /* local file */
-                       char resolved_path[MAXPATHLEN];
-                       if (!VCWD_REALPATH(buffer, resolved_path)) {
-                               RETURN_FALSE;
-                       }
-
-                       ret_val = (char *) magic_file(finfo->magic, buffer);
-                       goto common;
-               }
-       } else { /* buffer */
-               tmp = buffer;
-       }
-
-       ret_val = (char *) magic_buffer(finfo->magic, tmp, buffer_len);
-       if (mode) {
-               efree(tmp);
-       }
-common:
-       /* Restore options */
-       if (options) {
-               FINFO_SET_OPTION(finfo->magic, finfo->options)
-       }
-
-       if (!ret_val) {
-               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Failed identify data %d:%s",
-                               magic_errno(finfo->magic), magic_error(finfo->magic));
-               RETURN_FALSE;
-       } else {
-               RETURN_STRING(ret_val, 1);
-       }
-}
-
-/* {{{ proto string finfo_file(resource finfo, char *file_name [, int options [, resource context]])
-   Return information about a file. */
-PHP_FUNCTION(finfo_file)
-{
-       _php_finfo_get_type(INTERNAL_FUNCTION_PARAM_PASSTHRU, 1);
-}
-/* }}} */
-
-/* {{{ proto string finfo_buffer(resource finfo, char *string [, int options])
-   Return infromation about a string buffer. */
-PHP_FUNCTION(finfo_buffer)
-{
-       _php_finfo_get_type(INTERNAL_FUNCTION_PARAM_PASSTHRU, 0);
-}
-/* }}} */
-
-/*
- * Local variables:
- * tab-width: 4
- * c-basic-offset: 4
- * End:
- * vim600: noet sw=4 ts=4 fdm=marker
- * vim<600: noet sw=4 ts=4
- */
diff --git a/ext/fileinfo/fileinfo.php b/ext/fileinfo/fileinfo.php
deleted file mode 100644 (file)
index 1ee9efb..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-if(!extension_loaded('fileinfo')) {
-       dl('fileinfo.' . PHP_SHLIB_SUFFIX);
-}
-if(!extension_loaded('fileinfo')) {
-       die("fileinfo extension is not avaliable, please compile it.\n");
-}
-
-// normal operation
-$res = finfo_open(FILEINFO_MIME); /* return mime type ala mimetype extension */
-$files = glob("*");
-foreach ($files as $file) {
-       echo finfo_file($res, $file) . "\n";
-}
-finfo_close($res);
-
-// OO mode
-/*
- * FILEINFO_PRESERVE_ATIME - if possible preserve the original access time
- * FILEINFO_SYMLINK - follow symlinks
- * FILEINFO_DEVICES - look at the contents of blocks or character special devices
- * FILEINFO_COMPRESS - decompress compressed files
- */
-$fi = new finfo(FILEINFO_PRESERVE_ATIME|FILEINFO_SYMLINK|FILEINFO_DEVICES|FILEINFO_COMPRESS);
-$files = glob("*");
-foreach ($files as $file) {
-        echo $fi->buffer(file_get_contents($file)) . "\n";
-}
-?>
diff --git a/ext/fileinfo/package.xml b/ext/fileinfo/package.xml
deleted file mode 100644 (file)
index 14dab5b..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!DOCTYPE package SYSTEM "../pear/package.dtd">
-<package>
- <name>Fileinfo</name>
- <summary>libmagic bindings</summary>
- <maintainers>
-  <maintainer>
-   <user>iliaa</user>
-   <name>Ilia Alshanetsky</name>
-   <email>ilia@php.net</email>
-   <role>lead</role>
-  </maintainer>
- </maintainers>
- <description>
-This extension allows retrieval of information regarding vast majority of file. 
-This information may include dimensions, quality, length etc...
-
-Additionally it can also be used to retrieve the mime type for a particular 
-file and for text files proper language encoding.
- </description>
- <license>PHP</license>
- <release>
-  <state>stable</state>
-  <version>1.0</version>
-  <date>2005-06-30</date>
-  <notes>
-       1) Fixed library detection routines.
-  </notes>
-  <filelist>
-   <file role="src" name="config.m4"/>
-   <file role="src" name="fileinfo.c"/>
-   <file role="src" name="php_fileinfo.h"/>
-   <file role="doc" name="CREDITS"/>
-   <file role="doc" name="EXPERIMENTAL"/>
-   <file role="doc" name="fileinfo.php"/>
-  </filelist>
-  <deps>
-  </deps>
- </release>
-</package>
-<!--
-vim:et:ts=1:sw=1
--->
diff --git a/ext/fileinfo/php_fileinfo.h b/ext/fileinfo/php_fileinfo.h
deleted file mode 100644 (file)
index 66c5621..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
-  +----------------------------------------------------------------------+
-  | PHP Version 5                                                        |
-  +----------------------------------------------------------------------+
-  | Copyright (c) 1997-2004 The PHP Group                                |
-  +----------------------------------------------------------------------+
-  | This source file is subject to version 3.0 of the PHP license,       |
-  | that is bundled with this package in the file LICENSE, and is        |
-  | available through the world-wide-web at the following url:           |
-  | http://www.php.net/license/3_0.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: Ilia Alshanetsky <ilia@php.net>                              |
-  +----------------------------------------------------------------------+
-*/
-
-/* $Id$ */
-
-#ifndef PHP_FILEINFO_H
-#define PHP_FILEINFO_H
-
-extern zend_module_entry fileinfo_module_entry;
-#define phpext_fileinfo_ptr &fileinfo_module_entry
-
-#ifdef PHP_WIN32
-#define PHP_FILEINFO_API __declspec(dllexport)
-#else
-#define PHP_FILEINFO_API
-#endif
-
-#ifdef ZTS
-#include "TSRM.h"
-#endif
-
-PHP_MINFO_FUNCTION(fileinfo);
-
-PHP_FUNCTION(finfo_open);
-PHP_FUNCTION(finfo_close);
-PHP_FUNCTION(finfo_set_flags);
-PHP_FUNCTION(finfo_file);
-PHP_FUNCTION(finfo_buffer);
-
-#ifdef ZTS
-#define FILEINFO_G(v) TSRMG(fileinfo_globals_id, zend_fileinfo_globals *, v)
-#else
-#define FILEINFO_G(v) (fileinfo_globals.v)
-#endif
-
-#endif /* PHP_FILEINFO_H */
-
-
-/*
- * Local variables:
- * tab-width: 4
- * c-basic-offset: 4
- * End:
- * vim600: noet sw=4 ts=4 fdm=marker
- * vim<600: noet sw=4 ts=4
- */
diff --git a/ext/filter/README b/ext/filter/README
deleted file mode 100644 (file)
index b04648c..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-This doesn't work yet.  There are no actual filters as of yet, just the
-framework code to call the filters and store the original data.
diff --git a/ext/filter/config.m4 b/ext/filter/config.m4
deleted file mode 100644 (file)
index e27e30a..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-dnl $Id$
-dnl config.m4 for input filtering extension
-
-PHP_ARG_ENABLE(filter, whether to enable input filter support,
-[  --enable-filter           Enable input filter support])
-
-if test "$PHP_FILTER" != "no"; then
-  PHP_SUBST(FILTER_SHARED_LIBADD)
-  PHP_NEW_EXTENSION(filter, filter.c, $ext_shared)
-  CPPFLAGS="$CPPFLAGS -Wall"
-fi
diff --git a/ext/filter/filter.c b/ext/filter/filter.c
deleted file mode 100644 (file)
index b68885a..0000000
+++ /dev/null
@@ -1,544 +0,0 @@
-/*
-  $Id$
-*/
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "php.h"
-#include "php_ini.h"
-#include "ext/standard/info.h"
-#include "ext/standard/php_string.h"
-#include "php_variables.h"
-
-#include "filter.h"
-
-ZEND_DECLARE_MODULE_GLOBALS(filter)
-
-#ifndef PARSE_ENV
-#define PARSE_ENV 4
-#endif
-
-#ifndef PARSE_SERVER
-#define PARSE_SERVER 5
-#endif
-
-/* {{{ filter_functions[]
- */
-function_entry filter_functions[] = {
-       PHP_FE(filter,  NULL)
-       {NULL, NULL, NULL}
-};
-/* }}} */
-
-/* {{{ filter_module_entry
- */
-zend_module_entry filter_module_entry = {
-#if ZEND_MODULE_API_NO >= 20010901
-       STANDARD_MODULE_HEADER,
-#endif
-       "filter",
-       filter_functions,
-       PHP_MINIT(filter),
-       PHP_MSHUTDOWN(filter),
-       NULL,
-       PHP_RSHUTDOWN(filter),
-       PHP_MINFO(filter),
-    "0.1",
-       STANDARD_MODULE_PROPERTIES
-};
-/* }}} */
-
-#ifdef COMPILE_DL_FILTER
-ZEND_GET_MODULE(filter)
-#endif
-
-/* {{{ UpdateDefaultFilter
- */
-static PHP_INI_MH(UpdateDefaultFilter) {
-       if(!strcasecmp(new_value, "notags")) {
-               IF_G(default_filter) = NOTAGS;
-       }
-       else
-       if(!strcasecmp(new_value, "raw")) {
-               IF_G(default_filter) = F_UNSAFE_RAW;
-       }
-       return SUCCESS;
-}
-/* }}} */
-
-/* {{{ PHP_INI
- */
-PHP_INI_BEGIN()
-    STD_PHP_INI_ENTRY("filter.default", "notags", PHP_INI_ALL, UpdateDefaultFilter, default_filter, zend_filter_globals, filter_globals)
-PHP_INI_END()
-/* }}} */
-
-/* {{{ php_filter_init_globals
- */
-static void php_filter_init_globals(zend_filter_globals *filter_globals)
-{
-       filter_globals->post_array = NULL;
-       filter_globals->get_array = NULL;
-       filter_globals->cookie_array = NULL;
-       filter_globals->env_array = NULL;
-       filter_globals->server_array = NULL;
-       filter_globals->default_filter = NOTAGS;
-}
-/* }}} */
-
-#define PARSE_REQUEST 99
-
-/* {{{ PHP_MINIT_FUNCTION
- */
-PHP_MINIT_FUNCTION(filter)
-{
-       ZEND_INIT_MODULE_GLOBALS(filter, php_filter_init_globals, NULL);
-
-       REGISTER_INI_ENTRIES();
-
-       REGISTER_LONG_CONSTANT("FILTER_POST", PARSE_POST, CONST_CS | CONST_PERSISTENT);
-       REGISTER_LONG_CONSTANT("FILTER_GET", PARSE_GET, CONST_CS | CONST_PERSISTENT);
-       REGISTER_LONG_CONSTANT("FILTER_COOKIE", PARSE_COOKIE, CONST_CS | CONST_PERSISTENT);
-       REGISTER_LONG_CONSTANT("FILTER_REQUEST", PARSE_REQUEST, CONST_CS | CONST_PERSISTENT);
-       REGISTER_LONG_CONSTANT("FILTER_ENV", PARSE_ENV, CONST_CS | CONST_PERSISTENT);
-       REGISTER_LONG_CONSTANT("FILTER_SERVER", PARSE_SERVER, CONST_CS | CONST_PERSISTENT);
-       REGISTER_LONG_CONSTANT("FILTER_FLAG_NONE", FILTER_FLAG_NONE, CONST_CS | CONST_PERSISTENT);
-       REGISTER_LONG_CONSTANT("FILTER_FLAG_STRIP_LOW", FILTER_FLAG_STRIP_LOW, CONST_CS | CONST_PERSISTENT);
-       REGISTER_LONG_CONSTANT("FILTER_FLAG_STRIP_HIGH", FILTER_FLAG_STRIP_HIGH, CONST_CS | CONST_PERSISTENT);
-       REGISTER_LONG_CONSTANT("FILTER_FLAG_COOK_LOW", FILTER_FLAG_COOK_LOW, CONST_CS | CONST_PERSISTENT);
-       REGISTER_LONG_CONSTANT("FILTER_FLAG_COOK_HIGH", FILTER_FLAG_COOK_HIGH, CONST_CS | CONST_PERSISTENT);
-       REGISTER_LONG_CONSTANT("FILTER_FLAG_ALLOW_SIGN", FILTER_FLAG_ALLOW_SIGN, CONST_CS | CONST_PERSISTENT);
-       REGISTER_LONG_CONSTANT("FILTER_FLAG_ALLOW_FRACTION", FILTER_FLAG_ALLOW_FRACTION, CONST_CS | CONST_PERSISTENT);
-       REGISTER_LONG_CONSTANT("FILTER_FLAG_ALLOW_THOUSAND", FILTER_FLAG_ALLOW_THOUSAND, CONST_CS | CONST_PERSISTENT);
-       REGISTER_LONG_CONSTANT("FILTER_FLAG_ENCODE_AMP", FILTER_FLAG_ENCODE_AMP, CONST_CS | CONST_PERSISTENT);
-       REGISTER_LONG_CONSTANT("FILTER_HTML_NO_TAGS", FILTER_HTML_NO_TAGS, CONST_CS | CONST_PERSISTENT);
-
-       REGISTER_LONG_CONSTANT("FILTER_UNSAFE_RAW", F_UNSAFE_RAW, CONST_CS | CONST_PERSISTENT);
-       REGISTER_LONG_CONSTANT("FILTER_STRIPPED", F_STRIPPED, CONST_CS | CONST_PERSISTENT);
-       REGISTER_LONG_CONSTANT("FILTER_COOKED", F_COOKED, CONST_CS | CONST_PERSISTENT);
-       REGISTER_LONG_CONSTANT("FILTER_HTML", F_HTML, CONST_CS | CONST_PERSISTENT);
-       REGISTER_LONG_CONSTANT("FILTER_EMAIL", F_EMAIL, CONST_CS | CONST_PERSISTENT);
-       REGISTER_LONG_CONSTANT("FILTER_URL", F_URL, CONST_CS | CONST_PERSISTENT);
-       REGISTER_LONG_CONSTANT("FILTER_NUMBER", F_NUMBER, CONST_CS | CONST_PERSISTENT);
-
-       sapi_register_input_filter(php_sapi_filter);
-       return SUCCESS;
-}
-/* }}} */
-
-/* {{{ PHP_MSHUTDOWN_FUNCTION
- */
-PHP_MSHUTDOWN_FUNCTION(filter)
-{
-       UNREGISTER_INI_ENTRIES();
-
-       return SUCCESS;
-}
-/* }}} */
-
-/* {{{ PHP_RSHUTDOWN_FUNCTION
- */
-PHP_RSHUTDOWN_FUNCTION(filter)
-{
-       if(IF_G(get_array)) {
-               zval_ptr_dtor(&IF_G(get_array));
-               IF_G(get_array) = NULL;
-       }
-       if(IF_G(post_array)) {
-               zval_ptr_dtor(&IF_G(post_array));
-               IF_G(post_array) = NULL;
-       }
-       if(IF_G(cookie_array)) {
-               zval_ptr_dtor(&IF_G(cookie_array));
-               IF_G(cookie_array) = NULL;
-       }
-       if(IF_G(env_array)) {
-               zval_ptr_dtor(&IF_G(env_array));
-               IF_G(env_array) = NULL;
-       }
-       if(IF_G(server_array)) {
-               zval_ptr_dtor(&IF_G(server_array));
-               IF_G(server_array) = NULL;
-       }
-       return SUCCESS;
-}
-/* }}} */
-
-/* {{{ PHP_MINFO_FUNCTION
- */
-PHP_MINFO_FUNCTION(filter)
-{
-       char tmp[256];
-
-       php_info_print_table_start();
-       php_info_print_table_row( 2, "PHP extension for Input Validation and Filtering", "enabled" );
-       php_info_print_table_row( 2, "Revision", "$Revision$");
-       sprintf(tmp, "%d",IF_G(default_filter));
-       php_info_print_table_row( 2, "default_filter", tmp);
-       php_info_print_table_end();
-
-       DISPLAY_INI_ENTRIES();
-}
-/* }}} */
-
-/* {{{ php_sapi_filter(int arg, char *var, char **val, unsigned int val_len, unsigned *new_val_len)
- */
-unsigned int  php_sapi_filter(int arg, char *var, char **val, unsigned int val_len, unsigned int *new_val_len TSRMLS_DC)
-{
-       zval new_var;
-       zval *array_ptr = NULL;
-       char *raw_var, *out;
-       int var_len, res, ol, out_len;
-
-       assert(*val != NULL);
-
-#if PHP_API_VERSION > 20041224
-       if(IF_G(default_filter)==F_UNSAFE_RAW) {
-               if(new_val_len) *new_val_len = val_len;
-               return 1;
-       }
-#else
-       if(IF_G(default_filter)==F_UNSAFE_RAW) return(val_len);
-#endif
-
-       switch(arg) {
-               case PARSE_GET:
-                       if(!IF_G(get_array)) {
-                               ALLOC_ZVAL(array_ptr);
-                               array_init(array_ptr);
-                               INIT_PZVAL(array_ptr);
-                               IF_G(get_array) = array_ptr;
-                       }
-                       else {
-                               array_ptr = IF_G(get_array);
-                       }
-                       break;
-               case PARSE_POST:
-                       if(!IF_G(post_array)) {
-                               ALLOC_ZVAL(array_ptr);
-                               array_init(array_ptr);
-                               INIT_PZVAL(array_ptr);
-                               IF_G(post_array) = array_ptr;
-                       }
-                       else {
-                               array_ptr = IF_G(post_array);
-                       }
-                       break;
-               case PARSE_COOKIE:
-                       if(!IF_G(cookie_array)) {
-                               ALLOC_ZVAL(array_ptr);
-                               array_init(array_ptr);
-                               INIT_PZVAL(array_ptr);
-                               IF_G(cookie_array) = array_ptr;
-                       }
-                       else {
-                               array_ptr = IF_G(cookie_array);
-                       }
-                       break;
-               case PARSE_ENV:
-                       if(!IF_G(env_array)) {
-                               ALLOC_ZVAL(array_ptr);
-                               array_init(array_ptr);
-                               INIT_PZVAL(array_ptr);
-                               IF_G(env_array) = array_ptr;
-                       }
-                       else {
-                               array_ptr = IF_G(env_array);
-                       }
-                       break;
-               case PARSE_SERVER:
-                       if(!IF_G(server_array)) {
-                               ALLOC_ZVAL(array_ptr);
-                               array_init(array_ptr);
-                               INIT_PZVAL(array_ptr);
-                               IF_G(server_array) = array_ptr;
-                       }
-                       else {
-                               array_ptr = IF_G(server_array);
-                       }
-                       break;
-       }
-
-       Z_STRLEN(new_var) = val_len;
-       Z_STRVAL(new_var) = estrndup(*val, val_len);
-       Z_TYPE(new_var) = IS_STRING;
-
-       var_len = strlen(var);
-       raw_var = emalloc(var_len+5);  /* RAW_ and a \0 */
-       strcpy(raw_var, "RAW_");
-       strlcat(raw_var,var,var_len+5);
-
-       php_register_variable_ex(raw_var, &new_var, array_ptr TSRMLS_DC);
-
-       ol = 0;
-       out_len = val_len * 2;
-       if(!out_len) out = estrdup("");
-       else out = emalloc(out_len);
-       while((res = php_filter_get_html(*val, val_len, out, &out_len, FILTER_HTML_NO_TAGS, FILTER_FLAG_ENCODE_AMP, NULL)) == FILTER_RESULT_OUTLEN_SMALL) {
-               efree(out);
-               ol++;
-               out_len *= ol; /* Just in case we don't actually get the right out_len for some reason */
-               out = emalloc(out_len);
-       }
-       *val = out;
-#if PHP_API_VERSION > 20041224
-       if(new_val_len) *new_val_len = out_len?out_len-1:0;
-       return 1;
-#else
-       return(out_len?out_len-1:0);
-#endif
-}
-/* }}} */
-
-/* {{{ static void filter_recursive(zval *array, long filter, long flags, char *charset TSRMLS_DC)
- */
-static void filter_recursive(zval *array, long filter, long flags, char *charset TSRMLS_DC)
-{
-       zval **element;
-       HashPosition pos;
-       int out_len, res, ol=0;  /* Yes, ol should start at 0 here because the filter returns the right length */
-       char *out;
-
-       if (Z_TYPE_P(array) == IS_ARRAY) {
-               for (zend_hash_internal_pointer_reset_ex(Z_ARRVAL_P(array), &pos);
-                        zend_hash_get_current_data_ex(Z_ARRVAL_P(array), (void **) &element, &pos) == SUCCESS;
-                        zend_hash_move_forward_ex(Z_ARRVAL_P(array), &pos)) {
-                               filter_recursive(*element, filter, flags, charset TSRMLS_CC);
-               }
-       } else if(Z_STRLEN_P(array)) {
-               switch(filter) {
-                       case F_STRIPPED:
-                               out_len = Z_STRLEN_P(array) + 1;
-                               out = emalloc(out_len);
-                               while((res = php_filter_get_stripped(Z_STRVAL_P(array), Z_STRLEN_P(array), out, &out_len, flags, charset)) == FILTER_RESULT_OUTLEN_SMALL) {
-                                       efree(out);
-                                       ol++;
-                                       out_len *= ol;
-                                       out = emalloc(out_len);
-                               }
-                               efree(Z_STRVAL_P(array));
-                               Z_STRVAL_P(array) = out;
-                               Z_STRLEN_P(array) = out_len - 1;
-                               break;
-
-                       case F_COOKED:
-                               out_len = Z_STRLEN_P(array) * 2;
-                               out = emalloc(out_len);
-                               while((res = php_filter_get_cooked(Z_STRVAL_P(array), Z_STRLEN_P(array), out, &out_len, flags, charset)) == FILTER_RESULT_OUTLEN_SMALL) {
-                                       efree(out);
-                                       ol++;
-                                       out_len *= ol;
-                                       out = emalloc(out_len);
-                               }
-                               efree(Z_STRVAL_P(array));
-                               Z_STRVAL_P(array) = out;
-                               Z_STRLEN_P(array) = out_len - 1;
-                               break;
-
-                       case F_EMAIL:
-                               out_len = Z_STRLEN_P(array) + 1;
-                               out = emalloc(out_len);
-                               while((res = php_filter_get_email(Z_STRVAL_P(array), Z_STRLEN_P(array), out, &out_len, flags, charset)) == FILTER_RESULT_OUTLEN_SMALL) {
-                                       efree(out);
-                                       ol++;
-                                       out_len *= ol;
-                                       out = emalloc(out_len);
-                               }
-                               if(res==FILTER_RESULT_BAD_IN) { Z_TYPE_P(array) = IS_BOOL; Z_LVAL_P(array) = 0; }
-                               else {
-                                       efree(Z_STRVAL_P(array));
-                                       Z_STRVAL_P(array) = out;
-                                       Z_STRLEN_P(array) = out_len - 1;
-                               }
-                               break;
-
-                       case F_URL:
-                               out_len = Z_STRLEN_P(array) + 1;
-                               out = emalloc(out_len);
-                               while((res = php_filter_get_url(Z_STRVAL_P(array), Z_STRLEN_P(array), out, &out_len, flags, charset)) == FILTER_RESULT_OUTLEN_SMALL) {
-                                       efree(out);
-                                       ol++;
-                                       out_len *= ol;
-                                       out = emalloc(out_len);
-                               }
-                               if(res==FILTER_RESULT_BAD_IN) { Z_TYPE_P(array) = IS_BOOL; Z_LVAL_P(array) = 0; }
-                               else {
-                                       efree(Z_STRVAL_P(array));
-                                       Z_STRVAL_P(array) = out;
-                                       Z_STRLEN_P(array) = out_len - 1;
-                               }
-                               break;
-
-                       case F_NUMBER:
-                               out_len = Z_STRLEN_P(array) + 1;
-                               out = emalloc(out_len);
-                               while((res = php_filter_get_number(Z_STRVAL_P(array), Z_STRLEN_P(array), out, &out_len, flags, charset)) == FILTER_RESULT_OUTLEN_SMALL) {
-                                       efree(out);
-                                       ol++;
-                                       out_len *= ol;
-                                       out = emalloc(out_len);
-                               }
-                               if(res==FILTER_RESULT_BAD_IN) { Z_TYPE_P(array) = IS_BOOL; Z_LVAL_P(array) = 0; }
-                               else {
-                                       efree(Z_STRVAL_P(array));
-                                       Z_STRVAL_P(array) = out;
-                                       Z_STRLEN_P(array) = out_len - 1;
-                               }
-                               break;
-
-                       case F_NOTAGS:
-                       default:
-                               out_len = Z_STRLEN_P(array) + 1;
-                               out = emalloc(out_len);
-                               while((res = php_filter_get_html(Z_STRVAL_P(array), Z_STRLEN_P(array), out, &out_len, FILTER_HTML_NO_TAGS, flags, charset)) == FILTER_RESULT_OUTLEN_SMALL) {
-                                       efree(out);
-                                       ol++;
-                                       out_len *= ol;
-                                       out = emalloc(out_len);
-                               }
-                               efree(Z_STRVAL_P(array));
-                               Z_STRVAL_P(array) = out;
-                               Z_STRLEN_P(array) = out_len - 1;
-               }
-       }
-}
-/* }}} */
-
-/* {{{ filter(constant type, string variable_name [, int filter [, int flags [, string charset]]])
- */
-PHP_FUNCTION(filter)
-{
-       long arg, filter = F_NOTAGS, flags = 0;
-       char *var;
-       int var_len, charset_len, found = 0;
-       int argc = ZEND_NUM_ARGS();
-    zval **tmp;
-       zval *array_ptr = NULL, *array_ptr2 = NULL, *array_ptr3 = NULL;
-       HashTable *hash_ptr;
-       char *raw_var, *charset = NULL;
-
-       if(zend_parse_parameters(argc TSRMLS_CC, "ls|lls", &arg, &var, &var_len, &filter, &flags, &charset, &charset_len) == FAILURE) {
-               return;
-       }
-
-       switch(arg) {
-               case PARSE_GET:
-                       if(IF_G(default_filter)!=F_UNSAFE_RAW) array_ptr = IF_G(get_array);
-                       else array_ptr = PG(http_globals)[TRACK_VARS_GET];
-                       break;
-               case PARSE_POST:
-                       if(IF_G(default_filter)!=F_UNSAFE_RAW) array_ptr = IF_G(post_array);
-                       else array_ptr = PG(http_globals)[TRACK_VARS_POST];
-                       break;
-               case PARSE_COOKIE:
-                       if(IF_G(default_filter)!=F_UNSAFE_RAW) array_ptr = IF_G(cookie_array);
-                       else array_ptr = PG(http_globals)[TRACK_VARS_COOKIE];
-                       break;
-               case PARSE_ENV:
-                       if(IF_G(default_filter)!=F_UNSAFE_RAW) array_ptr = IF_G(env_array);
-                       else array_ptr = PG(http_globals)[TRACK_VARS_ENV];
-                       break;
-               case PARSE_SERVER:
-                       if(IF_G(default_filter)!=F_UNSAFE_RAW) array_ptr = IF_G(server_array);
-                       else array_ptr = PG(http_globals)[TRACK_VARS_SERVER];
-                       break;
-               case PARSE_REQUEST:
-                       if (PG(variables_order)) {
-                               zval **a_ptr = &array_ptr;
-                               char *p, *variables_order = PG(variables_order);
-                               for (p=variables_order; p && *p; p++) {
-                                       switch(*p) {
-                                               case 'p':
-                                               case 'P':
-                                                       if(IF_G(default_filter)!=F_UNSAFE_RAW) *a_ptr = IF_G(post_array);
-                                                       else *a_ptr = PG(http_globals)[TRACK_VARS_POST];
-                                                       break;
-                                               case 'g':
-                                               case 'G':
-                                                       if(IF_G(default_filter)!=F_UNSAFE_RAW) *a_ptr = IF_G(get_array);
-                                                       else *a_ptr = PG(http_globals)[TRACK_VARS_GET];
-                                                       break;
-                                               case 'c':
-                                               case 'C':
-                                                       if(IF_G(default_filter)!=F_UNSAFE_RAW) *a_ptr = IF_G(cookie_array);
-                                                       else *a_ptr = PG(http_globals)[TRACK_VARS_COOKIE];
-                                                       break;
-                                       }
-                                       if(array_ptr && !array_ptr2) { a_ptr = &array_ptr2; continue; }
-                                       if(array_ptr2 && !array_ptr3) { a_ptr = &array_ptr3; }
-                               }
-                       } else {
-                               if(IF_G(default_filter)!=F_UNSAFE_RAW) array_ptr = IF_G(get_array);
-                               else array_ptr = PG(http_globals)[TRACK_VARS_GET];
-                               break;
-                       }
-
-       }
-
-       if(!array_ptr) RETURN_FALSE;
-
-       if(IF_G(default_filter)!=F_UNSAFE_RAW) {
-       /*
-        * I'm changing the variable name here because when running with register_globals on,
-        * the variable will end up in the global symbol table and I am using that var name
-        * in the internal raw storage arrays as well.
-        */
-               var_len += 5;
-               raw_var = emalloc(var_len);  /* RAW_ and a \0 */
-               strcpy(raw_var, "RAW_");
-               strlcat(raw_var,var,var_len);
-       } else {
-               raw_var = var;
-               var_len++;
-       }
-
-       if(array_ptr3) {
-               hash_ptr = HASH_OF(array_ptr3);
-               if(hash_ptr && zend_hash_find(hash_ptr, raw_var, var_len, (void **)&tmp) == SUCCESS) {
-                       *return_value = **tmp;
-                       found = 1;
-               } 
-       }
-
-       if(array_ptr2 && !found) {
-               hash_ptr = HASH_OF(array_ptr2);
-               if(hash_ptr && zend_hash_find(hash_ptr, raw_var, var_len, (void **)&tmp) == SUCCESS) {
-                       *return_value = **tmp;
-                       found = 1;
-               }
-       }
-
-       if(!found) {
-               hash_ptr = HASH_OF(array_ptr);
-
-               if(hash_ptr && zend_hash_find(hash_ptr, raw_var, var_len, (void **)&tmp) == SUCCESS) {
-                       *return_value = **tmp;
-                       found = 1;
-               }
-       }
-
-       if(found) {
-               zval_copy_ctor(return_value);  /* Watch out for empty strings */
-               if(filter != F_UNSAFE_RAW) {
-                       filter_recursive(return_value, filter, flags, charset);
-               }
-       } else {
-               RETVAL_FALSE;
-       }
-
-       if(IF_G(default_filter)!=F_UNSAFE_RAW) {
-               efree(raw_var);
-       }
-}
-/* }}} */
-
-/*
- * Local variables:
- * tab-width: 4
- * c-basic-offset: 4
- * End:
-  vim600: noet sw=4 ts=4 fdm=marker
- * vim<600: noet sw=4 ts=4
- */
diff --git a/ext/filter/filter.h b/ext/filter/filter.h
deleted file mode 100644 (file)
index 4c14e7b..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-  $Id$
-*/
-
-#ifndef PHP_FILTER_H
-#define PHP_FILTER_H
-
-extern zend_module_entry filter_module_entry;
-#define phpext_filter_ptr &filter_module_entry
-
-#ifdef PHP_WIN32
-#define PHP_FILTER_API __declspec(dllexport)
-#else
-#define PHP_FILTER_API
-#endif
-
-#ifdef ZTS
-#include "TSRM.h"
-#endif
-
-#if PHP_API_VERSION > 20041224
-unsigned int php_sapi_filter(int arg, char *var, char **val, unsigned int val_len, unsigned int *new_val_len);
-#else
-unsigned int php_sapi_filter(int arg, char *var, char **val, unsigned int val_len);
-#endif
-
-PHP_MINIT_FUNCTION(filter);
-PHP_MSHUTDOWN_FUNCTION(filter);
-PHP_RINIT_FUNCTION(filter);
-PHP_RSHUTDOWN_FUNCTION(filter);
-PHP_MINFO_FUNCTION(filter);
-
-PHP_FUNCTION(filter);
-
-ZEND_BEGIN_MODULE_GLOBALS(filter)
-       zval *post_array;
-       zval *get_array;
-       zval *cookie_array;
-       zval *env_array;
-       zval *server_array;
-       int default_filter;
-ZEND_END_MODULE_GLOBALS(filter)
-
-#ifdef ZTS
-#define IF_G(v) TSRMG(filter_globals_id, zend_filter_globals *, v)
-#else
-#define IF_G(v) (filter_globals.v)
-#endif
-
-#endif /* FILTER_H */
-
-/*
- * Local variables:
- * tab-width: 4
- * c-basic-offset: 4
- * indent-tabs-mode: t
- * End:
- */
diff --git a/ext/filter/tests/001.phpt b/ext/filter/tests/001.phpt
deleted file mode 100644 (file)
index 9fa9d40..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
---TEST--
-Simple GET test
---POST--
---GET--
-a=1
---FILE--
-<?php echo $_GET['a']; ?>
---EXPECT--
-1
diff --git a/ext/filter/tests/002.phpt b/ext/filter/tests/002.phpt
deleted file mode 100644 (file)
index 8c20bf9..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
---TEST--
-GET test with 2 values and an empty one
---POST--
---GET--
-a=1&b=&c=3
---FILE--
-<?php echo $_GET['a'];
-echo $_GET['b']; 
-echo $_GET['c'];
-?>
---EXPECT--
-13
diff --git a/ext/filter/tests/003.phpt b/ext/filter/tests/003.phpt
deleted file mode 100644 (file)
index 43e6cd9..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-GET/POST/REQUEST Test
---POST--
-d=4&e=5
---GET--
-a=1&b=&c=3
---FILE--
-<?php echo $_GET['a'];
-echo $_GET['b']; 
-echo $_GET['c'];
-echo $_POST['d'];
-echo $_POST['e'];
-echo "\n";
-echo $_REQUEST['a'];
-echo $_REQUEST['b'];
-echo $_REQUEST['c'];
-echo $_REQUEST['d'];
-echo $_REQUEST['e'];
-?>
---EXPECT--
-1345
-1345
diff --git a/ext/filter/tests/004.phpt b/ext/filter/tests/004.phpt
deleted file mode 100644 (file)
index afadd26..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
---TEST--
-GET/POST/REQUEST Test with filtered data
---INI--
-filter.default=notags
---POST--
-d="quotes"&e=\slash
---GET--
-a=O'Henry&b=&c=<b>Bold</b>
---FILE--
-<?php echo $_GET['a'];
-echo $_GET['b']; 
-echo $_GET['c'];
-echo $_POST['d'];
-echo $_POST['e'];
-echo "\n";
-echo $_REQUEST['a'];
-echo $_REQUEST['b'];
-echo $_REQUEST['c'];
-echo $_REQUEST['d'];
-echo $_REQUEST['e'];
-?>
---EXPECT--
-O&#39;HenryBold&quot;quotes&quot;\slash
-O&#39;HenryBold&quot;quotes&quot;\slash
diff --git a/ext/filter/tests/005.phpt b/ext/filter/tests/005.phpt
deleted file mode 100644 (file)
index 07f7c59..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-GET/REQUEST Test with fifa example data
---INI--
-filter.default=notags
---POST--
---GET--
-id=f03_photos&pgurl=http%3A//fifaworldcup.yahoo.com/03/en/photozone/index.html
---FILE--
-<?php 
-echo $_GET['id'];
-echo "\n";
-echo $_GET['pgurl']; 
-echo "\n";
-echo $_REQUEST['id'];
-echo "\n";
-echo $_REQUEST['pgurl']; 
-?>
---EXPECT--
-f03_photos
-http://fifaworldcup.yahoo.com/03/en/photozone/index.html
-f03_photos
-http://fifaworldcup.yahoo.com/03/en/photozone/index.html
diff --git a/ext/filter/tests/006.phpt b/ext/filter/tests/006.phpt
deleted file mode 100644 (file)
index 5ad6c12..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---TEST--
-filter() test
---POST--
-foo=<b>abc</b>
---GET--
---FILE--
-<?php 
-echo filter(FILTER_POST, 'foo', FILTER_HTML);
-?>
---EXPECT--
-abc
diff --git a/ext/imap/imap.h b/ext/imap/imap.h
deleted file mode 100644 (file)
index 914d128..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-#ifndef _INCLUDED_IMAP_H
-#define _INCLUDED_IMAP_H
-
-#if COMPILE_DL
-#undef HAVE_IMAP
-#define HAVE_IMAP 1
-#endif
-
-#if HAVE_IMAP
-
-#ifndef PHP_WIN32
-#include "build-defs.h"
-#endif
-
-/* Functions accessable to PHP */
-extern zend_module_entry imap_module_entry;
-#define imap_module_ptr &imap_module_entry
-
-extern PHP_MINIT_FUNCTION(imap);
-extern PHP_RINIT_FUNCTION(imap);
-extern PHP_RSHUTDOWN_FUNCTION(imap);
-PHP_MINFO_FUNCTION(imap);
-PHP_FUNCTION(imap_open);
-PHP_FUNCTION(imap_popen);
-PHP_FUNCTION(imap_reopen);
-PHP_FUNCTION(imap_num_msg);
-PHP_FUNCTION(imap_num_recent);
-PHP_FUNCTION(imap_headers);
-PHP_FUNCTION(imap_headerinfo);
-PHP_FUNCTION(imap_rfc822_parse_headers);
-PHP_FUNCTION(imap_body);
-PHP_FUNCTION(imap_fetchstructure);
-PHP_FUNCTION(imap_fetchbody);
-PHP_FUNCTION(imap_expunge);
-PHP_FUNCTION(imap_delete);
-PHP_FUNCTION(imap_undelete);
-PHP_FUNCTION(imap_check);
-PHP_FUNCTION(imap_close);
-PHP_FUNCTION(imap_mail_copy);
-PHP_FUNCTION(imap_mail_move);
-PHP_FUNCTION(imap_createmailbox);
-PHP_FUNCTION(imap_renamemailbox);
-PHP_FUNCTION(imap_deletemailbox);
-PHP_FUNCTION(imap_listmailbox);
-PHP_FUNCTION(imap_scanmailbox);
-PHP_FUNCTION(imap_subscribe);
-PHP_FUNCTION(imap_unsubscribe);
-PHP_FUNCTION(imap_append);
-PHP_FUNCTION(imap_ping);
-PHP_FUNCTION(imap_base64);
-PHP_FUNCTION(imap_qprint);
-PHP_FUNCTION(imap_8bit);
-PHP_FUNCTION(imap_binary);
-PHP_FUNCTION(imap_mailboxmsginfo);
-PHP_FUNCTION(imap_rfc822_write_address);
-PHP_FUNCTION(imap_rfc822_parse_adrlist);
-PHP_FUNCTION(imap_setflag_full);
-PHP_FUNCTION(imap_clearflag_full);
-PHP_FUNCTION(imap_sort);
-PHP_FUNCTION(imap_fetchheader);
-PHP_FUNCTION(imap_fetchtext);
-PHP_FUNCTION(imap_uid);
-PHP_FUNCTION(imap_msgno);
-PHP_FUNCTION(imap_list);
-PHP_FUNCTION(imap_list_full);
-PHP_FUNCTION(imap_listscan);
-PHP_FUNCTION(imap_lsub);
-PHP_FUNCTION(imap_lsub_full);
-PHP_FUNCTION(imap_create);
-PHP_FUNCTION(imap_rename);
-PHP_FUNCTION(imap_status);
-PHP_FUNCTION(imap_bodystruct);
-PHP_FUNCTION(imap_fetch_overview);
-PHP_FUNCTION(imap_mail_compose);
-PHP_FUNCTION(imap_alerts);
-PHP_FUNCTION(imap_errors);
-PHP_FUNCTION(imap_last_error);
-PHP_FUNCTION(imap_mail);
-PHP_FUNCTION(imap_search);
-PHP_FUNCTION(imap_utf8);
-PHP_FUNCTION(imap_utf7_decode);
-PHP_FUNCTION(imap_utf7_encode);
-PHP_FUNCTION(imap_mime_header_decode);
-#else
-#define imap_module_ptr NULL
-#endif /* HAVE_IMAP */
-
-#endif
-
-
-
-
-
-
-#define phpext_imap_ptr imap_module_ptr
-
-
-
-
-
-
-
-
diff --git a/ext/pcre/config0.m4 b/ext/pcre/config0.m4
deleted file mode 100644 (file)
index d3309f3..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-dnl
-dnl $Id$
-dnl
-
-dnl By default we'll compile and link against the bundled PCRE library
-dnl if DIR is supplied, we'll use that for linking
-
-PHP_ARG_WITH(pcre-regex,for PCRE support,
-[  --without-pcre-regex    Do not include Perl Compatible Regular Expressions 
-                          support. Use --with-pcre-regex=DIR to specify DIR
-                          where PCRE's include and library files are located,
-                          if not using bundled library.],yes)
-
-if test "$PHP_PCRE_REGEX" != "no"; then
-  if test "$PHP_PCRE_REGEX" = "yes"; then
-    PHP_NEW_EXTENSION(pcre, pcrelib/pcre_chartables.c pcrelib/pcre_compile.c pcrelib/pcre_config.c pcrelib/pcre_dfa_exec.c pcrelib/pcre_exec.c pcrelib/pcre_fullinfo.c pcrelib/pcre_get.c pcrelib/pcre_globals.c pcrelib/pcre_info.c pcrelib/pcre_maketables.c pcrelib/pcre_ord2utf8.c pcrelib/pcre_printint.c pcrelib/pcre_refcount.c pcrelib/pcre_study.c pcrelib/pcre_tables.c pcrelib/pcre_try_flipped.c pcrelib/pcre_ucp_findchar.c pcrelib/pcre_valid_utf8.c pcrelib/pcre_version.c pcrelib/pcre_xclass.c php_pcre.c, $ext_shared,,-DEXPORT= -DNEWLINE=10 -DSUPPORT_UTF8 -DSUPPORT_UCP -DLINK_SIZE=2 -DPOSIX_MALLOC_THRESHOLD=10 -DMATCH_LIMIT=10000000 -I@ext_srcdir@/pcrelib)
-    PHP_ADD_BUILD_DIR($ext_builddir/pcrelib)
-    AC_DEFINE(HAVE_BUNDLED_PCRE, 1, [ ])
-  else
-    for i in $PHP_PCRE_REGEX $PHP_PCRE_REGEX/include $PHP_PCRE_REGEX/include/pcre; do
-      test -f $i/pcre.h && PCRE_INCDIR=$i
-    done
-
-    if test -z "$PCRE_INCDIR"; then
-      AC_MSG_ERROR([Could not find pcre.h in $PHP_PCRE_REGEX])
-    fi
-
-    for j in $PHP_PCRE_REGEX $PHP_PCRE_REGEX/$PHP_LIBDIR; do
-      test -f $j/libpcre.a -o -f $j/libpcre.$SHLIB_SUFFIX_NAME && PCRE_LIBDIR=$j
-    done
-    
-    if test -z "$PCRE_LIBDIR" ; then
-      AC_MSG_ERROR([Could not find libpcre.(a|$SHLIB_SUFFIX_NAME) in $PHP_PCRE_REGEX])
-    fi
-
-    changequote({,})
-    pcre_major=`grep PCRE_MAJOR $PCRE_INCDIR/pcre.h | sed -e 's/[^0-9]//g'`
-    pcre_minor=`grep PCRE_MINOR $PCRE_INCDIR/pcre.h | sed -e 's/[^0-9]//g'`
-    changequote([,])
-    pcre_minor_length=`echo "$pcre_minor" | wc -c | sed -e 's/[^0-9]//g'`
-    if test "$pcre_minor_length" -eq 2 ; then
-      pcre_minor="$pcre_minor"0
-    fi
-    pcre_version=$pcre_major$pcre_minor
-    if test "$pcre_version" -lt 208; then
-      AC_MSG_ERROR([The PCRE extension requires PCRE library version >= 2.08])
-    fi
-
-    PHP_ADD_LIBRARY_WITH_PATH(pcre, $PCRE_LIBDIR, PCRE_SHARED_LIBADD)
-    
-    AC_DEFINE(HAVE_PCRE, 1, [ ])
-    PHP_ADD_INCLUDE($PCRE_INCDIR)
-    PHP_NEW_EXTENSION(pcre, php_pcre.c, $ext_shared,,-DEXPORT= -DNEWLINE=10 -DSUPPORT_UTF8 -DSUPPORT_UCP -DLINK_SIZE=2 -DPOSIX_MALLOC_THRESHOLD=10 -DMATCH_LIMIT=10000000)
-  fi
-  PHP_SUBST(PCRE_SHARED_LIBADD)
-fi
diff --git a/ext/pdo_dblib/tests/common.phpt b/ext/pdo_dblib/tests/common.phpt
deleted file mode 100644 (file)
index 8cd1c40..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
---TEST--
-DBLIB
---SKIPIF--
-<?php # vim:ft=php
-if (!extension_loaded('pdo_dblib')) print 'skip'; ?>
---REDIRECTTEST--
-# magic auto-configuration
-
-$config = array(
-       'TESTS' => 'ext/pdo/tests'
-);
-       
-
-if (false !== getenv('PDO_DBLIB_TEST_DSN')) {
-       # user set them from their shell
-       $config['ENV']['PDOTEST_DSN'] = getenv('PDO_DBLIB_TEST_DSN');
-       $config['ENV']['PDOTEST_USER'] = getenv('PDO_DBLIB_TEST_USER');
-       $config['ENV']['PDOTEST_PASS'] = getenv('PDO_DBLIB_TEST_PASS');
-       if (false !== getenv('PDO_DBLIB_TEST_ATTR')) {
-               $config['ENV']['PDOTEST_ATTR'] = getenv('PDO_DBLIB_TEST_ATTR');
-       }
-} 
-return $config;
diff --git a/ext/xmlwriter/CREDITS b/ext/xmlwriter/CREDITS
deleted file mode 100644 (file)
index d3a9ebe..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-XMLWriter
-Rob Richards
-Pierre-Alain Joye
diff --git a/ext/xmlwriter/TODO b/ext/xmlwriter/TODO
deleted file mode 100644 (file)
index bfc895d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-- Fix up config file for PHP 5 to use libxml extension configuration
-- Add tests for Namespace functions/methods
-- Sync with xmlwriter (new dtd func?)
-- Write documentations in docbook
-
diff --git a/ext/xmlwriter/config.m4 b/ext/xmlwriter/config.m4
deleted file mode 100644 (file)
index a1952b3..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-dnl
-dnl $Id$
-dnl
-
-AC_DEFUN([PHP_XMLWRITER_CHECK_VERSION],[
-  old_CPPFLAGS=$CPPFLAGS
-  CPPFLAGS=-I$XMLWRITER_DIR/include$XMLWRITER_DIR_ADD
-  AC_MSG_CHECKING(for libxml version)
-  AC_EGREP_CPP(yes,[
-#include <libxml/xmlversion.h>
-#if LIBXML_VERSION >= 20600
-  yes
-#endif
-  ],[
-    AC_MSG_RESULT(>= 2.6.0)
-  ],[
-    AC_MSG_ERROR(libxml version 2.6.0 or greater required.)
-  ])
-  CPPFLAGS=$old_CPPFLAGS
-])
-
-PHP_ARG_WITH(xmlwriter, for XMLWriter support,
-[  --with-xmlwriter        Include XMLWriter support.])
-
-if test "$PHP_XMLWRITER" != "no"; then
-
-  XMLWRITER_DIR_ADD=""
-  if test -r $PHP_XMLWRITER/include/libxml2/libxml/xmlwriter.h; then
-    XMLWRITER_DIR=$PHP_XMLWRITER
-    XMLWRITER_DIR_ADD="/libxml2"
-  elif test -r $PHP_XMLWRITER/include/libxml/xmlwriter.h; then
-    XMLWRITER_DIR=$PHP_XMLWRITER
-  else
-    for i in /usr/local /usr; do
-      test -r $i/include/libxml/xmlwriter.h && XMLWRITER_DIR=$i
-      test -r $i/include/libxml2/libxml/xmlwriter.h && XMLWRITER_DIR=$i && XMLWRITER_DIR_ADD="/libxml2"
-    done
-  fi
-
-  if test -z "$XMLWRITER_DIR"; then
-    AC_MSG_RESULT(not found)
-    AC_MSG_ERROR(Please reinstall the libxml >= 2.6.0 distribution)
-  fi
-
-  PHP_XMLWRITER_CHECK_VERSION
-
-  XML2_CONFIG=$XMLWRITER_DIR/bin/xml2-config
-
-  if test -x $XML2_CONFIG; then
-    XMLWRITER_LIBS=`$XML2_CONFIG --libs`
-    PHP_EVAL_LIBLINE($XMLWRITER_LIBS, XMLWRITER_SHARED_LIBADD)
-  else
-    PHP_ADD_LIBRARY_WITH_PATH($XMLWRITER_LIBNAME, $XMLWRITER_DIR/lib, XMLWRITER_SHARED_LIBADD)
-  fi
-
-  PHP_ADD_INCLUDE($XMLWRITER_DIR/include$XMLWRITER_DIR_ADD)
-
-  AC_DEFINE(HAVE_XMLWRITER,1,[ ])
-  PHP_NEW_EXTENSION(xmlwriter, php_xmlwriter.c, $ext_shared)
-  PHP_SUBST(XMLWRITER_SHARED_LIBADD)
-fi
diff --git a/ext/xmlwriter/config.w32 b/ext/xmlwriter/config.w32
deleted file mode 100644 (file)
index c18b2c1..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-// $Id$
-// vim:ft=javascript
-
-ARG_WITH("xmlwriter", "XMLWriter support", "no");
-
-if (PHP_XMLWRITER == "yes" && PHP_LIBXML == "yes") {
-       if (CHECK_HEADER_ADD_INCLUDE('libxml/xmlwriter.h', 'CFLAGS_XMLWRITER', PHP_XMLWRITER)) {
-               EXTENSION("xmlwriter", "php_xmlwriter.c");
-               AC_DEFINE("HAVE_XMLWRITER", 1, "XMLWriter support");
-               if (!PHP_XMLWRITER_SHARED) {
-                       ADD_FLAG("CFLAGS_XMLWRITER", "/D LIBXML_STATIC");
-               }
-               ADD_EXTENSION_DEP('xmlwriter', 'libxml');
-       } else {
-               WARNING('Could not find xmlwriter.h');
-       }
-}
-
diff --git a/ext/xmlwriter/examples/xmlwriter_file.php b/ext/xmlwriter/examples/xmlwriter_file.php
deleted file mode 100644 (file)
index 13bb262..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-dl('xmlwriter.so');
-
-$xw = xmlwriter_open_uri('./a.xml');
-xmlwriter_set_indent($xw, 1);
-$res = xmlwriter_set_indent_string($xw, ' ');
-
-xmlwriter_start_document($xw, '1.0', 'UTF-8');
-
-// A first element
-xmlwriter_start_element($xw, 'tag1');
-
-// Attribute 'att1' for element 'tag1'
-xmlwriter_start_attribute($xw, 'att1');
-xmlwriter_text($xw, 'valueofatt1');
-xmlwriter_end_attribute($xw);
-
-xmlwriter_write_comment($xw, 'this is a comment.');
-
-// Start a child element
-xmlwriter_start_element($xw, 'tag11');
-xmlwriter_text($xw, utf8_encode('This is a sample text, Ã¤'));
-xmlwriter_end_element($xw); // tag11
-
-xmlwriter_end_element($xw); // tag1
-
-
-// CDATA
-xmlwriter_start_element($xw, 'testc');
-xmlwriter_write_cdata($xw, "This is a cdata content");
-xmlwriter_end_element($xw); // testctag
-
-xmlwriter_start_element($xw, 'testc');
-xmlwriter_start_cdata($xw);
-xmlwriter_text($xw, "test cdata2");
-xmlwriter_end_cdata($xw);
-xmlwriter_end_element($xw); // testctag
-
-// A processing instruction
-xmlwriter_start_pi($xw, 'php');
-xmlwriter_text($xw, '$foo=2;echo $foo;');
-xmlwriter_end_pi($xw);
-
-xmlwriter_end_document($xw);
diff --git a/ext/xmlwriter/examples/xmlwriter_mem.php b/ext/xmlwriter/examples/xmlwriter_mem.php
deleted file mode 100644 (file)
index 8f8eef9..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-dl('xmlwriter.so');
-
-$xw = xmlwriter_open_memory();
-xmlwriter_set_indent($xw, 1);
-$res = xmlwriter_set_indent_string($xw, ' ');
-
-xmlwriter_start_document($xw, '1.0', 'UTF-8');
-
-// A first element
-xmlwriter_start_element($xw, 'tag1');
-
-// Attribute 'att1' for element 'tag1'
-xmlwriter_start_attribute($xw, 'att1');
-xmlwriter_text($xw, 'valueofatt1');
-xmlwriter_end_attribute($xw);
-
-xmlwriter_text($xw, utf8_encode('This is a sample text, Ã¤'));
-xmlwriter_end_element($xw); // tag1
-
-
-$res = xmlwriter_start_comment($xw);
-xmlwriter_text($xw, "Demo text comment");
-$res = xmlwriter_end_comment($xw);
-
-xmlwriter_end_document($xw);
-$out = xmlwriter_output_memory($xw, 0);
-
-echo $out;
-
-// flush the xml buffer using optional
-// flust argument, default is 1
-$out = xmlwriter_output_memory($xw, 1);
-echo $out;
-
-
-$out = xmlwriter_output_memory($xw);
-echo $out;
-
diff --git a/ext/xmlwriter/examples/xmlwriter_mem_ns.php b/ext/xmlwriter/examples/xmlwriter_mem_ns.php
deleted file mode 100644 (file)
index e4d0131..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-dl('xmlwriter.so');
-
-$xw = xmlwriter_open_memory();
-xmlwriter_set_indent($xw, 1);
-$res = xmlwriter_set_indent_string($xw, ' ');
-
-xmlwriter_start_document($xw, '1.0', 'UTF-8');
-// A first element
-xmlwriter_start_element_ns($xw,'prefix', 'books', 'uri');
-xmlwriter_start_attribute($xw, 'isbn');
-
-/* Uncomment this line if you have libxml 2.6.17 or CVS version
- after 2005/02/22
- earlier versions segfault
-*/
-/*
-xmlwriter_start_attribute_ns($xw, 'prefix', 'isbn', 'uri');
-xmlwriter_end_attribute($xw);
-*/
-xmlwriter_end_attribute($xw);
-
-xmlwriter_text($xw, 'book1');
-xmlwriter_end_element($xw);
-
-xmlwriter_end_document($xw);
-$out = xmlwriter_output_memory($xw, 0);
-
-echo $out;
-
diff --git a/ext/xmlwriter/examples/xmlwriter_oo.php b/ext/xmlwriter/examples/xmlwriter_oo.php
deleted file mode 100644 (file)
index 01ada93..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-$xw = new XMLWriter();
-$xw->openUri('test.xml');
-$xw->startDocument("1.0");
-$xw->startElement("book");
-$xw->text("example");
-$xw->endElement();
-$xw->endDocument();
-$xw->flush(0);
diff --git a/ext/xmlwriter/package.xml b/ext/xmlwriter/package.xml
deleted file mode 100644 (file)
index bc104a4..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!DOCTYPE package SYSTEM "../package.dtd">
-<package>
- <name>xmlwriter</name>
- <summary>Provides fast, non-cached, forward-only means to write XML data.</summary>
- <description>
-  This extension wraps the libxml xmlWriter API. Represents a writer that 
-  provides a non-cached, forward-only means of generating streams or files 
-  containing XML data.
- </description>
- <license>PHP License</license>
- <maintainers>
-  <maintainer>
-   <user>rrichards</user>
-   <name>Rob Richards</name>
-   <email>rrichards@php.net</email>
-   <role>lead</role>
-  </maintainer>
- </maintainers>
-  <maintainer>
-   <user>pajoye</user>
-   <name>Pierre-Alain Joye</name>
-   <email>pierre.dev@gmail.com</email>
-   <role>developer</role>
-  </maintainer>
- <release>
-  <version>2.0.0</version>
-  <date>2005-08-07</date>
-  <state>stable</state>
-  <notes>
-   fix tests using UTF-8
-   move to stable state
-  </notes>
- </release>
-
- <changelog>
- <release>
-  <version>1.1.0</version>
-  <date>2005-05-24</date>
-  <state>beta</state>
-  <notes>
-   Add OO interface (php5 only)  
-   Add test cases
-  </notes>
- </release>
- <release>
-  <version>1.0</version>
-  <date>2005-05-02</date>
-  <state>stable</state>
-  <notes>
-   Many Bug Fixes
-   Use PHP streams under PHP 4
-   Add xmlwriter_flush function to flush buffer
-   Add support for xmlTextWriterStart/EndComment
-  </notes>
- </release>
-  <release>
-   <version>0.1</version>
-   <date>2004-07-20</date>
-   <state>alpha</state>
-   <notes>Initial Release </notes>
-  </release>
- <release>
-  <version>0.2</version>
-  <date>2004-10-08</date>
-  <state>alpha</state>
-  <notes>Fix bug 2482 and other function parameters</notes>
- </release>
- </changelog>
-
- <configureoptions>
-   <configureoption name="with-xmlwriter" default="autodetect" prompt="Include XMLWriter support?"/>
- </configureoptions>
- <filelist>
-  <file role="src" name="config.m4"/>
-  <file role="src" name="config.w32"/>
-  <file role="src" name="php_xmlwriter.c"/>
-  <file role="src" name="php_xmlwriter.h"/>
-  <dir name="tests" role="test">
-    <file name="001.phpt"/>
-    <file name="002.phpt"/>
-    <file name="003.phpt"/>
-    <file name="004.phpt"/>
-    <file name="OO_001.phpt"/>
-    <file name="OO_002.phpt"/>
-    <file name="OO_003.phpt"/>
-    <file name="OO_004.phpt"/>
-  </dir>
- </filelist>
- <deps>
-  <dep type="php" rel="ge" version="4.3.0" />
- </deps>
-</package>
diff --git a/ext/xmlwriter/package2.xml b/ext/xmlwriter/package2.xml
deleted file mode 100644 (file)
index c1871f0..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0"?>
-<package packagerversion="1.4.0a2" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <name>xmlwriter</name>
- <channel>pecl.php.net</channel>
- <summary>Provides fast, non-cached, forward-only means to write XML data.</summary>
- <description>
-  This extension wraps the libxml xmlWriter API. Represents a writer that 
-  provides a non-cached, forward-only means of generating streams or files 
-  containing XML data.
- </description>
- <lead>
-  <name>Rob Richards</name>
-  <user>rrichards</user>
-  <email>rrichards@php.net</email>
-  <active>yes</active>
- </lead>
- <developer>
-  <name>Pierre-Alain Joye</name>
-  <user>pajoye</user>
-  <email>pajoye@php.net</email>
-  <active>yes</active>
- </developer>
- <date>2005-08-07</date>
- <time>01:20:00</time>
- <version>
-  <release>2.0.0</release>
-  <api>2.0.0</api>
- </version>
- <stability>
-  <release>stable</release>
-  <api>stable</api>
- </stability>
- <license uri="http://www.php.net/license/3_0.txt">PHP</license>
- <notes>Promote to stable</notes>
- <contents>
-  <dir name="/">
-  <file role="src" name="config.m4"/>
-  <file role="src" name="config.w32"/>
-  <file role="src" name="php_xmlwriter.c"/>
-  <file role="src" name="php_xmlwriter.h"/>
-  <dir name="tests" role="test">
-    <file role="test" name="001.phpt"/>
-    <file role="test" name="002.phpt"/>
-    <file role="test" name="003.phpt"/>
-    <file role="test" name="004.phpt"/>
-    <file role="test" name="OO_001.phpt"/>
-    <file role="test" name="OO_002.phpt"/>
-    <file role="test" name="OO_003.phpt"/>
-    <file role="test" name="OO_004.phpt"/>
-  </dir>
-  </dir>
- </contents>
- <dependencies>
-  <required>
-   <php>
-    <min>4.3.0</min>
-   </php>
-   <pearinstaller>
-    <min>1.4.0a2</min>
-   </pearinstaller>
-  </required>
- </dependencies>
- <providesextension>xmlwriter</providesextension>
- <extsrcrelease />
-</package>
diff --git a/ext/xmlwriter/php_xmlwriter.c b/ext/xmlwriter/php_xmlwriter.c
deleted file mode 100644 (file)
index 61f4b13..0000000
+++ /dev/null
@@ -1,2097 +0,0 @@
-/*
-  +----------------------------------------------------------------------+
-  | PHP Version 5                                                        |
-  +----------------------------------------------------------------------+
-  | Copyright (c) 1997-2004 The PHP Group                                |
-  +----------------------------------------------------------------------+
-  | This source file is subject to version 3.0 of the PHP license,       |
-  | that is bundled with this package in the file LICENSE, and is        |
-  | available through the world-wide-web at the following url:           |
-  | http://www.php.net/license/3_0.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: Rob Richards <rrichards@php.net>                             |
-  +----------------------------------------------------------------------+
-*/
-
-/* $Id$ */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-
-#include "php.h"
-#include "php_ini.h"
-#include "ext/standard/info.h"
-#include "php_xmlwriter.h"
-
-zend_class_entry *xmlwriter_class_entry;
-
-/* {{{ xmlwriter_object_free_storage */
-static void xmlwriter_free_resource_ptr(xmlwriter_object *intern TSRMLS_DC) 
-{
-       if (intern) {
-               if (intern->ptr) {
-                       xmlFreeTextWriter(intern->ptr);
-                       intern->ptr = NULL;
-               }
-               if (intern->output) {
-                       xmlBufferFree(intern->output);
-                       intern->output = NULL;
-               }
-               efree(intern);
-       }
-}
-/* }}} */
-
-#ifdef ZEND_ENGINE_2
-/* {{{ XMLWRITER_FROM_OBJECT */
-#define XMLWRITER_FROM_OBJECT(intern, object) \
-       { \
-               ze_xmlwriter_object *obj = (ze_xmlwriter_object*) zend_object_store_get_object(object TSRMLS_CC); \
-               intern = obj->xmlwriter_ptr; \
-               if (!intern) { \
-                       php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid or unitialized XMLWriter object"); \
-                       RETURN_FALSE; \
-               } \
-       }
-/* }}} */
-
-static zend_object_handlers xmlwriter_object_handlers;
-
-/* {{{ xmlwriter_object_free_storage */
-static void xmlwriter_object_free_storage(void *object TSRMLS_DC)
-{
-       ze_xmlwriter_object * intern = (ze_xmlwriter_object *) object;
-       if (!intern) {
-               return;
-       }
-       if (intern->xmlwriter_ptr) {
-               xmlwriter_free_resource_ptr(intern->xmlwriter_ptr TSRMLS_CC);
-       }
-       intern->xmlwriter_ptr = NULL;
-       if (intern->zo.properties) {
-               zend_hash_destroy(intern->zo.properties);
-               FREE_HASHTABLE(intern->zo.properties);
-       }
-
-       efree(intern);
-}
-/* }}} */
-
-/* {{{ xmlwriter_object_new */
-PHP_XMLWRITER_API zend_object_value xmlwriter_object_new(zend_class_entry *class_type TSRMLS_DC)
-{
-       ze_xmlwriter_object *intern;
-       zval *tmp;
-       zend_object_value retval;
-
-       intern = emalloc(sizeof(ze_xmlwriter_object));
-       intern->zo.ce = class_type;
-       intern->zo.in_get = 0;
-    intern->zo.in_set = 0;
-    intern->zo.properties = NULL;
-       
-       ALLOC_HASHTABLE(intern->zo.properties);
-       zend_hash_init(intern->zo.properties, 0, NULL, ZVAL_PTR_DTOR, 0);
-       zend_hash_copy(intern->zo.properties, &class_type->default_properties, (copy_ctor_func_t) zval_add_ref,
-                                       (void *) &tmp, sizeof(zval *));
-
-       retval.handle = zend_objects_store_put(intern,
-                                               NULL,
-                                               (zend_objects_free_object_storage_t) xmlwriter_object_free_storage,
-                                               NULL TSRMLS_CC);
-       
-       retval.handlers = (zend_object_handlers *) & xmlwriter_object_handlers;
-       
-       return retval;
-}
-/* }}} */
-#endif
-
-/* {{{ xmlwriter_functions */
-static zend_function_entry xmlwriter_functions[] = {
-       PHP_FE(xmlwriter_open_uri,                      NULL)
-       PHP_FE(xmlwriter_open_memory,           NULL)
-#if LIBXML_VERSION >= 20605
-       PHP_FE(xmlwriter_set_indent,            NULL)
-       PHP_FE(xmlwriter_set_indent_string, NULL)
-#endif
-#if LIBXML_VERSION >= 20607
-       PHP_FE(xmlwriter_start_comment,         NULL)
-       PHP_FE(xmlwriter_end_comment,           NULL)
-#endif
-       PHP_FE(xmlwriter_start_attribute,       NULL)
-       PHP_FE(xmlwriter_end_attribute,         NULL)
-       PHP_FE(xmlwriter_write_attribute,       NULL)
-#if LIBXML_VERSION > 20617
-       PHP_FE(xmlwriter_start_attribute_ns,NULL)
-#endif
-       PHP_FE(xmlwriter_start_element,         NULL)
-       PHP_FE(xmlwriter_end_element,           NULL)
-       PHP_FE(xmlwriter_start_element_ns,      NULL)
-       PHP_FE(xmlwriter_write_element,         NULL)
-       PHP_FE(xmlwriter_write_element_ns,      NULL)
-       PHP_FE(xmlwriter_start_pi,                      NULL)
-       PHP_FE(xmlwriter_end_pi,                        NULL)
-       PHP_FE(xmlwriter_write_pi,                      NULL)
-       PHP_FE(xmlwriter_start_cdata,           NULL)
-       PHP_FE(xmlwriter_end_cdata,                     NULL)
-       PHP_FE(xmlwriter_write_cdata,           NULL)
-       PHP_FE(xmlwriter_text,                          NULL)
-       PHP_FE(xmlwriter_start_document,        NULL)
-       PHP_FE(xmlwriter_end_document,          NULL)
-       PHP_FE(xmlwriter_write_comment,         NULL)
-       PHP_FE(xmlwriter_start_dtd,                     NULL)
-       PHP_FE(xmlwriter_end_dtd,                       NULL)
-       PHP_FE(xmlwriter_write_dtd,                     NULL)
-       PHP_FE(xmlwriter_start_dtd_element,     NULL)
-       PHP_FE(xmlwriter_end_dtd_element,       NULL)
-       PHP_FE(xmlwriter_output_memory,         NULL)
-       PHP_FE(xmlwriter_flush,                         NULL)
-       {NULL, NULL, NULL}
-};
-/* }}} */
-
-#ifdef ZEND_ENGINE_2
-/* {{{ xmlwriter_class_functions */
-static zend_function_entry xmlwriter_class_functions[] = {
-       PHP_ME_MAPPING(openUri,         xmlwriter_open_uri,             NULL)
-       PHP_ME_MAPPING(openMemory,      xmlwriter_open_memory,  NULL)
-#if LIBXML_VERSION >= 20605
-       PHP_ME_MAPPING(setIndent,       xmlwriter_set_indent,   NULL)
-       PHP_ME_MAPPING(setIndentString, xmlwriter_set_indent_string, NULL)
-#endif
-#if LIBXML_VERSION >= 20607
-       PHP_ME_MAPPING(startComment,    xmlwriter_start_comment,        NULL)
-       PHP_ME_MAPPING(endComment,              xmlwriter_end_comment,          NULL)
-#endif
-       PHP_ME_MAPPING(startAttribute,  xmlwriter_start_attribute,      NULL)
-       PHP_ME_MAPPING(endAttribute,    xmlwriter_end_attribute,        NULL)
-       PHP_ME_MAPPING(writeAttribute,  xmlwriter_write_attribute,      NULL)
-#if LIBXML_VERSION > 20617
-       PHP_ME_MAPPING(startAttributeNs,        xmlwriter_start_attribute_ns,NULL)
-#endif
-       PHP_ME_MAPPING(startElement,    xmlwriter_start_element,        NULL)
-       PHP_ME_MAPPING(endElement,              xmlwriter_end_element,          NULL)
-       PHP_ME_MAPPING(startElementNs,  xmlwriter_start_element_ns,     NULL)
-       PHP_ME_MAPPING(writeElement,    xmlwriter_write_element,        NULL)
-       PHP_ME_MAPPING(writeElementNs,  xmlwriter_write_element_ns,     NULL)
-       PHP_ME_MAPPING(startPi,                 xmlwriter_start_pi,                     NULL)
-       PHP_ME_MAPPING(endPi,                   xmlwriter_end_pi,                       NULL)
-       PHP_ME_MAPPING(writePi,                 xmlwriter_write_pi,                     NULL)
-       PHP_ME_MAPPING(startCdata,              xmlwriter_start_cdata,          NULL)
-       PHP_ME_MAPPING(endCdata,                xmlwriter_end_cdata,            NULL)
-       PHP_ME_MAPPING(writeCdata,              xmlwriter_write_cdata,          NULL)
-       PHP_ME_MAPPING(text,                    xmlwriter_text,                         NULL)
-       PHP_ME_MAPPING(startDocument,   xmlwriter_start_document,       NULL)
-       PHP_ME_MAPPING(endDocument,             xmlwriter_end_document,         NULL)
-       PHP_ME_MAPPING(writeComment,    xmlwriter_write_comment,        NULL)
-       PHP_ME_MAPPING(startDtd,                xmlwriter_start_dtd,            NULL)
-       PHP_ME_MAPPING(endDtd,                  xmlwriter_end_dtd,                      NULL)
-       PHP_ME_MAPPING(writeDtd,                xmlwriter_write_dtd,            NULL)
-       PHP_ME_MAPPING(startDtdElement, xmlwriter_start_dtd_element,    NULL)
-       PHP_ME_MAPPING(endDtdElement,   xmlwriter_end_dtd_element,      NULL)
-       PHP_ME_MAPPING(outputMemory,    xmlwriter_output_memory,        NULL)
-       PHP_ME_MAPPING(flush,                   xmlwriter_flush,                        NULL)
-       {NULL, NULL, NULL}
-};
-/* }}} */
-#endif
-
-/* {{{ function prototypes */
-PHP_MINIT_FUNCTION(xmlwriter);
-PHP_MSHUTDOWN_FUNCTION(xmlwriter);
-PHP_MINFO_FUNCTION(xmlwriter);
-
-static int le_xmlwriter;
-/* }}} */
-
-/* _xmlwriter_get_valid_file_path should be made a 
-       common function in libxml extension as code is common to a few xml extensions */
-/* {{{ _xmlwriter_get_valid_file_path */
-char *_xmlwriter_get_valid_file_path(char *source, char *resolved_path, int resolved_path_len  TSRMLS_DC) {
-       xmlURI *uri;
-       xmlChar *escsource;
-       char *file_dest;
-       int isFileUri = 0;
-
-       uri = xmlCreateURI();
-       escsource = xmlURIEscapeStr(source, ":");
-       xmlParseURIReference(uri, escsource);
-       xmlFree(escsource);
-
-       if (uri->scheme != NULL) {
-               /* absolute file uris - libxml only supports localhost or empty host */
-               if (strncasecmp(source, "file:///",8) == 0) {
-                       isFileUri = 1;
-#ifdef PHP_WIN32
-                       source += 8;
-#else
-                       source += 7;
-#endif
-               } else if (strncasecmp(source, "file://localhost/",17) == 0) {
-                       isFileUri = 1;
-#ifdef PHP_WIN32
-                       source += 17;
-#else
-                       source += 16;
-#endif
-               }
-       }
-
-       file_dest = source;
-
-       if ((uri->scheme == NULL || isFileUri)) {
-               /* XXX possible buffer overflow if VCWD_REALPATH does not know size of resolved_path */
-               if (! VCWD_REALPATH(source, resolved_path)) {
-                       expand_filepath(source, resolved_path TSRMLS_CC);
-               }
-               file_dest = resolved_path;
-       }
-
-       xmlFreeURI(uri);
-
-       return file_dest;
-}
-/* }}} */
-
-#ifndef ZEND_ENGINE_2
-/* Channel libxml file io layer through the PHP streams subsystem.
- * This allows use of ftps:// and https:// urls */
-
-/* {{{ php_xmlwriter_streams_IO_open_write_wrapper */
-static void *php_xmlwriter_streams_IO_open_write_wrapper(const char *filename TSRMLS_DC)
-{
-       php_stream_wrapper *wrapper = NULL;
-       void *ret_val = NULL;
-
-       ret_val = php_stream_open_wrapper_ex((char *)filename, "wb", ENFORCE_SAFE_MODE|REPORT_ERRORS, NULL, NULL);
-       return ret_val;
-}
-/* }}} */
-
-/* {{{ php_xmlwriter_streams_IO_write */
-int php_xmlwriter_streams_IO_write(void *context, const char *buffer, int len)
-{
-       TSRMLS_FETCH();
-       return php_stream_write((php_stream*)context, buffer, len);
-}
-/* }}} */
-
-/* {{{ xmlwriter_objects_clone */
-int php_xmlwriter_streams_IO_close(void *context)
-{
-       TSRMLS_FETCH();
-       return php_stream_close((php_stream*)context);
-}
-/* }}} */
-#endif
-
-/* {{{ xmlwriter_module_entry
- */
-zend_module_entry xmlwriter_module_entry = {
-       STANDARD_MODULE_HEADER,
-       "xmlwriter",
-       xmlwriter_functions,
-       PHP_MINIT(xmlwriter),
-       PHP_MSHUTDOWN(xmlwriter),
-       NULL,
-       NULL,
-       PHP_MINFO(xmlwriter),
-       "0.1",
-       STANDARD_MODULE_PROPERTIES
-};
-/* }}} */
-
-#ifdef COMPILE_DL_XMLWRITER
-ZEND_GET_MODULE(xmlwriter)
-#endif
-
-/* {{{ xmlwriter_objects_clone */
-void xmlwriter_objects_clone(void *object, void **object_clone TSRMLS_DC)
-{
-       /* TODO */
-}
-/* }}} */
-
-/* {{{ xmlwriter_dtor */
-static void xmlwriter_dtor(zend_rsrc_list_entry *rsrc TSRMLS_DC) {
-       xmlwriter_object *intern;
-
-       intern = (xmlwriter_object *) rsrc->ptr;
-       xmlwriter_free_resource_ptr(intern TSRMLS_CC);
-}
-/* }}} */
-
-#if LIBXML_VERSION >= 20605
-/* {{{ proto bool xmlwriter_set_indent(resource xmlwriter, bool)
-Toggle indentation on/off - returns FALSE on error */
-PHP_FUNCTION(xmlwriter_set_indent)
-{
-       zval *pind;
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       int retval;
-       zend_bool indent;
-
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-       
-       if (this) {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "b", &pind, &indent) == FAILURE) {
-                       return;
-               }
-               XMLWRITER_FROM_OBJECT(intern, this);
-       } else
-#endif
-       {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rb", &pind, &indent) == FAILURE) {
-                       return;
-               }
-               ZEND_FETCH_RESOURCE(intern,xmlwriter_object *, &pind, -1, "XMLWriter", le_xmlwriter);
-       }
-
-
-       ptr = intern->ptr;
-       if (ptr) {
-               retval = xmlTextWriterSetIndent(ptr, indent);
-               if (retval == 0) {
-                       RETURN_TRUE;
-               }
-       }
-       
-       RETURN_FALSE;
-}
-/* }}} */
-
-/* {{{ proto bool xmlwriter_set_indent_string(resource xmlwriter, string indentString)
-Set string used for indenting - returns FALSE on error */
-PHP_FUNCTION(xmlwriter_set_indent_string)
-{
-       zval *pind;
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       char *indent;
-       int indent_len, retval;
-
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-       
-       if (this) {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &indent, &indent_len) == FAILURE) {
-                       return;
-               }
-               XMLWRITER_FROM_OBJECT(intern, this);
-       } else
-#endif
-       {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs", &pind, &indent, &indent_len) == FAILURE) {
-                       return;
-               }
-       
-               ZEND_FETCH_RESOURCE(intern,xmlwriter_object *, &pind, -1, "XMLWriter", le_xmlwriter);
-       }
-
-
-       ptr = intern->ptr;
-
-       if (ptr) {
-               retval = xmlTextWriterSetIndentString(ptr, indent);
-               if (retval == 0) {
-                       RETURN_TRUE;
-               }
-       }
-       
-       RETURN_FALSE;
-}
-/* }}} */
-
-#endif
-
-/* {{{ proto bool xmlwriter_start_attribute(resource xmlwriter, string name)
-Create start attribute - returns FALSE on error */
-PHP_FUNCTION(xmlwriter_start_attribute)
-{
-       zval *pind;
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       char *name;
-       int name_len, retval;
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-       
-       if (this) {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &name, &name_len) == FAILURE) {
-                       return;
-               }
-               XMLWRITER_FROM_OBJECT(intern, this);
-       } else
-#endif
-       {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs", &pind, &name, &name_len) == FAILURE) {
-                       return;
-               }
-               ZEND_FETCH_RESOURCE(intern,xmlwriter_object *, &pind, -1, "XMLWriter", le_xmlwriter);
-       }
-
-
-       retval = xmlValidateName((xmlChar *) name, 0);
-       if (retval != 0) {
-               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid Attribute Name");
-               RETURN_FALSE;
-       }
-
-       ptr = intern->ptr;
-
-       if (ptr) {
-               retval = xmlTextWriterStartAttribute(ptr, name);
-               if (retval != -1) {
-                       RETURN_TRUE;
-               }
-       }
-
-       RETURN_FALSE;
-}
-/* }}} */
-
-/* {{{ proto bool xmlwriter_end_attribute(resource xmlwriter)
-End attribute - returns FALSE on error */
-PHP_FUNCTION(xmlwriter_end_attribute)
-{
-       zval *pind;
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       int retval;
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-       
-       if (this) {
-               XMLWRITER_FROM_OBJECT(intern, this);
-       } else 
-#endif
-       {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &pind) == FAILURE) {
-                       return;
-               }
-               ZEND_FETCH_RESOURCE(intern,xmlwriter_object *, &pind, -1, "XMLWriter", le_xmlwriter);
-       }
-
-       ptr = intern->ptr;
-
-       if (ptr) {
-               retval = xmlTextWriterEndAttribute(ptr);
-               if (retval != -1) {
-                       RETURN_TRUE;
-               }
-       }
-       
-       RETURN_FALSE;
-}
-/* }}} */
-
-#if LIBXML_VERSION > 20617
-/* {{{ proto bool xmlwriter_start_attribute_ns(resource xmlwriter, string prefix, string name, string uri)
-Create start namespaced attribute - returns FALSE on error */
-PHP_FUNCTION(xmlwriter_start_attribute_ns)
-{
-       zval *pind;
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       char *name, *prefix, *uri;
-       int name_len, prefix_len, uri_len, retval;
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-       
-       if (this) {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sss", 
-                       &prefix, &prefix_len, &name, &name_len, &uri, &uri_len) == FAILURE) {
-                       return;
-               }
-               XMLWRITER_FROM_OBJECT(intern, this);
-       } else
-#endif
-       {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rsss", &pind, 
-                       &prefix, &prefix_len, &name, &name_len, &uri, &uri_len) == FAILURE) {
-                       return;
-               }
-               ZEND_FETCH_RESOURCE(intern,xmlwriter_object *, &pind, -1, "XMLWriter", le_xmlwriter);
-       }
-
-       retval = xmlValidateName((xmlChar *) name, 0);
-       if (retval != 0) {
-               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid Attribute Name");
-               RETURN_FALSE;
-       }
-
-
-       ptr = intern->ptr;
-
-       if (ptr) {
-               retval = xmlTextWriterStartAttributeNS(ptr, prefix, name, uri);
-               if (retval != -1) {
-                       RETURN_TRUE;
-               }
-       }
-       
-       RETURN_FALSE;
-}
-/* }}} */
-#endif
-
-/* {{{ proto bool xmlwriter_write_attribute(resource xmlwriter, string name, string content)
-Write full attribute - returns FALSE on error */
-PHP_FUNCTION(xmlwriter_write_attribute)
-{
-       zval *pind;
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       char *name, *content;
-       int name_len, content_len, retval;
-
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-       
-       if (this) {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss", 
-                       &name, &name_len, &content, &content_len) == FAILURE) {
-                       return;
-               }
-               XMLWRITER_FROM_OBJECT(intern, this);
-       } else
-#endif
-       {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rss", &pind, 
-                       &name, &name_len, &content, &content_len) == FAILURE) {
-                       return;
-               }
-               ZEND_FETCH_RESOURCE(intern,xmlwriter_object *, &pind, -1, "XMLWriter", le_xmlwriter);
-       }
-
-       retval = xmlValidateName((xmlChar *) name, 0);
-       if (retval != 0) {
-               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid Attribute Name");
-               RETURN_FALSE;
-       }
-
-       ptr = intern->ptr;
-
-       if (ptr) {
-               retval = xmlTextWriterWriteAttribute(ptr, name, content);
-               if (retval != -1) {
-                       RETURN_TRUE;
-               }
-       }
-       
-       RETURN_FALSE;
-}
-/* }}} */
-
-/* {{{ proto bool xmlwriter_write_attribute_ns(resource xmlwriter, string prefix, string name, string uri, string content)
-Write full namespaced attribute - returns FALSE on error */
-PHP_FUNCTION(xmlwriter_write_attribute_ns)
-{
-       zval *pind;
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       char *name, *prefix, *uri, *content;
-       int name_len, prefix_len, uri_len, content_len, retval;
-
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-       
-       if (this) {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ssss", 
-                       &name, &name_len, &content, &content_len) == FAILURE) {
-                       return;
-               }
-               XMLWRITER_FROM_OBJECT(intern, this);
-       } else
-#endif
-       {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rssss", &pind, 
-                       &prefix, &prefix_len, &name, &name_len, &uri, &uri_len, &content, &content_len) == FAILURE) {
-                       return;
-               }
-               ZEND_FETCH_RESOURCE(intern,xmlwriter_object *, &pind, -1, "XMLWriter", le_xmlwriter);
-       }
-
-       retval = xmlValidateName((xmlChar *) name, 0);
-       if (retval != 0) {
-               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid Attribute Name");
-               RETURN_FALSE;
-       }
-
-       ptr = intern->ptr;
-
-       if (ptr) {
-               retval = xmlTextWriterWriteAttributeNS(ptr, prefix, name, uri, content);
-               if (retval != -1) {
-                       RETURN_TRUE;
-               }
-       }
-       
-       RETURN_FALSE;
-}
-/* }}} */
-
-/* {{{ proto bool xmlwriter_start_element(resource xmlwriter, string name)
-Create start element tag - returns FALSE on error */
-PHP_FUNCTION(xmlwriter_start_element)
-{
-       zval *pind;
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       char *name;
-       int name_len, retval;
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-       
-       if (this) {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &name, &name_len) == FAILURE) {
-                       return;
-               }
-               XMLWRITER_FROM_OBJECT(intern, this);
-       } else
-#endif
-       {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs", &pind, &name, &name_len) == FAILURE) {
-                       return;
-               }
-               ZEND_FETCH_RESOURCE(intern,xmlwriter_object *, &pind, -1, "XMLWriter", le_xmlwriter);
-       }
-
-       retval = xmlValidateName((xmlChar *) name, 0);
-       if (retval != 0) {
-               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid Element Name");
-               RETURN_FALSE;
-       }
-
-       ptr = intern->ptr;
-
-       if (ptr) {
-               retval = xmlTextWriterStartElement(ptr, name);
-               if (retval != -1) {
-                       RETURN_TRUE;
-               }
-       }
-       
-       RETURN_FALSE;
-}
-/* }}} */
-
-/* {{{ proto bool xmlwriter_start_element_ns(resource xmlwriter, string prefix, string name, string uri)
-Create start namespaced element tag - returns FALSE on error */
-PHP_FUNCTION(xmlwriter_start_element_ns)
-{
-       zval *pind;
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       char *name, *prefix, *uri;
-       int name_len, prefix_len, uri_len, retval;
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-       
-       if (this) {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sss",
-                       &prefix, &prefix_len, &name, &name_len, &uri, &uri_len) == FAILURE) {
-                       return;
-               }
-               XMLWRITER_FROM_OBJECT(intern, this);
-       } else
-#endif
-       {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rsss", &pind, 
-                       &prefix, &prefix_len, &name, &name_len, &uri, &uri_len) == FAILURE) {
-                       return;
-               }
-               ZEND_FETCH_RESOURCE(intern,xmlwriter_object *, &pind, -1, "XMLWriter", le_xmlwriter);
-       }
-
-       retval = xmlValidateName((xmlChar *) name, 0);
-       if (retval != 0) {
-               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid Element Name");
-               RETURN_FALSE;
-       }
-
-
-       ptr = intern->ptr;
-
-       if (ptr) {
-               retval = xmlTextWriterStartElementNS(ptr, prefix, name, uri);
-               if (retval != -1) {
-                       RETURN_TRUE;
-               }
-       }
-       
-       RETURN_FALSE;
-}
-/* }}} */
-
-/* {{{ proto bool xmlwriter_end_element(resource xmlwriter)
-End current element - returns FALSE on error */
-PHP_FUNCTION(xmlwriter_end_element)
-{
-       zval *pind;
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       int retval;
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-       
-       if (this) {
-               XMLWRITER_FROM_OBJECT(intern, this);
-       } else
-#endif
-       {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &pind) == FAILURE) {
-                       return;
-               }
-               ZEND_FETCH_RESOURCE(intern,xmlwriter_object *, &pind, -1, "XMLWriter", le_xmlwriter);
-       }
-
-       ptr = intern->ptr;
-
-       if (ptr) {
-               retval = xmlTextWriterEndElement(ptr);
-               if (retval != -1) {
-                       RETURN_TRUE;
-               }
-       }
-       
-       RETURN_FALSE;
-}
-/* }}} */
-
-/* {{{ proto bool xmlwriter_write_element(resource xmlwriter, string name, string content)
-Write full element tag - returns FALSE on error */
-PHP_FUNCTION(xmlwriter_write_element)
-{
-       zval *pind;
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       char *name, *content;
-       int name_len, content_len, retval;
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-       
-       if (this) {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss",
-                       &name, &name_len, &content, &content_len) == FAILURE) {
-                       return;
-               }
-               XMLWRITER_FROM_OBJECT(intern, this);
-       } else
-#endif
-       {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rss", &pind, 
-                       &name, &name_len, &content, &content_len) == FAILURE) {
-                       return;
-               }
-               ZEND_FETCH_RESOURCE(intern,xmlwriter_object *, &pind, -1, "XMLWriter", le_xmlwriter);
-       }
-
-       retval = xmlValidateName((xmlChar *) name, 0);
-       if (retval != 0) {
-               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid Element Name");
-               RETURN_FALSE;
-       }
-
-       ptr = intern->ptr;
-
-       if (ptr) {
-               retval = xmlTextWriterWriteElement(ptr, name, content);
-               if (retval != -1) {
-                       RETURN_TRUE;
-               }
-       }
-       
-       RETURN_FALSE;
-}
-/* }}} */
-
-/* {{{ proto bool xmlwriter_write_element_ns(resource xmlwriter, string prefix, string name, string uri, string content)
-Write full namesapced element tag - returns FALSE on error */
-PHP_FUNCTION(xmlwriter_write_element_ns)
-{
-       zval *pind;
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       char *name, *prefix, *uri, *content;
-       int name_len, prefix_len, uri_len, content_len, retval;
-
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-       
-       if (this) {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rssss", 
-                       &prefix, &prefix_len, &name, &name_len, &uri, &uri_len, &content, &content_len) == FAILURE) {
-                       return;
-               }
-               XMLWRITER_FROM_OBJECT(intern, this);
-       } else
-#endif
-       {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rssss", &pind, 
-                       &prefix, &prefix_len, &name, &name_len, &uri, &uri_len, &content, &content_len) == FAILURE) {
-                       return;
-               }
-               ZEND_FETCH_RESOURCE(intern,xmlwriter_object *, &pind, -1, "XMLWriter", le_xmlwriter);
-       }
-
-       retval = xmlValidateName((xmlChar *) name, 0);
-       if (retval != 0) {
-               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid Element Name");
-               RETURN_FALSE;
-       }
-
-       ptr = intern->ptr;
-
-       if (ptr) {
-               retval = xmlTextWriterWriteElementNS(ptr, prefix, name, uri, content);
-               if (retval != -1) {
-                       RETURN_TRUE;
-               }
-       }
-       
-       RETURN_FALSE;
-}
-/* }}} */
-
-/* {{{ proto bool xmlwriter_start_pi(resource xmlwriter, string target)
-Create start PI tag - returns FALSE on error */
-PHP_FUNCTION(xmlwriter_start_pi)
-{
-       zval *pind;
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       char *target;
-       int target_len, retval;
-
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-       
-       if (this) {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &target, &target_len) == FAILURE) {
-                       return;
-               }
-               XMLWRITER_FROM_OBJECT(intern, this);
-       } else
-#endif
-       {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs", &pind, &target, &target_len) == FAILURE) {
-                       return;
-               }
-               ZEND_FETCH_RESOURCE(intern,xmlwriter_object *, &pind, -1, "XMLWriter", le_xmlwriter);
-       }
-
-       retval = xmlValidateName((xmlChar *) target, 0);
-       if (retval != 0) {
-               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid PI Target");
-               RETURN_FALSE;
-       }
-
-       ptr = intern->ptr;
-
-       if (ptr) {
-               retval = xmlTextWriterStartPI(ptr, target);
-               if (retval != -1) {
-                       RETURN_TRUE;
-               }
-       }
-       
-       RETURN_FALSE;
-}
-/* }}} */
-
-/* {{{ proto bool xmlwriter_end_pi(resource xmlwriter)
-End current PI - returns FALSE on error */
-PHP_FUNCTION(xmlwriter_end_pi)
-{
-       zval *pind;
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       int retval;
-
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-       
-       if (this) {
-               XMLWRITER_FROM_OBJECT(intern, this);
-       } else
-#endif
-       {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &pind) == FAILURE) {
-                       return;
-               }
-               ZEND_FETCH_RESOURCE(intern,xmlwriter_object *, &pind, -1, "XMLWriter", le_xmlwriter);
-       }
-
-       ptr = intern->ptr;
-
-       if (ptr) {
-               retval = xmlTextWriterEndPI(ptr);
-               if (retval != -1) {
-                       RETURN_TRUE;
-               }
-       }
-       
-       RETURN_FALSE;
-}
-/* }}} */
-
-/* {{{ proto bool xmlwriter_write_pi(resource xmlwriter, string target, string content)
-Write full PI tag - returns FALSE on error */
-PHP_FUNCTION(xmlwriter_write_pi)
-{
-       zval *pind;
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       char *target, *content;
-       int target_len, content_len, retval;
-
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-       
-       if (this) {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss",
-                       &target, &target_len, &content, &content_len) == FAILURE) {
-                       return;
-               }
-               XMLWRITER_FROM_OBJECT(intern, this);
-       } else
-#endif
-       {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rss", &pind, 
-                       &target, &target_len, &content, &content_len) == FAILURE) {
-                       return;
-               }
-               ZEND_FETCH_RESOURCE(intern,xmlwriter_object *, &pind, -1, "XMLWriter", le_xmlwriter);
-       }
-
-       retval = xmlValidateName((xmlChar *) target, 0);
-       if (retval != 0) {
-               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid PI Target");
-               RETURN_FALSE;
-       }
-
-       ptr = intern->ptr;
-
-       if (ptr) {
-               retval = xmlTextWriterWritePI(ptr, target, content);
-               if (retval != -1) {
-                       RETURN_TRUE;
-               }
-       }
-       
-       RETURN_FALSE;
-}
-/* }}} */
-
-/* {{{ proto bool xmlwriter_start_cdata(resource xmlwriter)
-Create start CDATA tag - returns FALSE on error */
-PHP_FUNCTION(xmlwriter_start_cdata)
-{
-       zval *pind;
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       int retval;
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-       
-       if (this) {
-               XMLWRITER_FROM_OBJECT(intern, this);
-       } else
-#endif
-       {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &pind) == FAILURE) {
-                       return;
-               }
-               ZEND_FETCH_RESOURCE(intern,xmlwriter_object *, &pind, -1, "XMLWriter", le_xmlwriter);
-       }
-
-       ptr = intern->ptr;
-
-       if (ptr) {
-               retval = xmlTextWriterStartCDATA(ptr);
-               if (retval != -1) {
-                       RETURN_TRUE;
-               }
-       }
-       
-       RETURN_FALSE;
-}
-/* }}} */
-
-/* {{{ proto bool xmlwriter_end_cdata(resource xmlwriter)
-End current CDATA - returns FALSE on error */
-PHP_FUNCTION(xmlwriter_end_cdata)
-{
-       zval *pind;
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       int retval;
-
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-       
-       if (this) {
-               XMLWRITER_FROM_OBJECT(intern, this);
-       } else
-#endif
-       {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &pind) == FAILURE) {
-                       return;
-               }
-               ZEND_FETCH_RESOURCE(intern,xmlwriter_object *, &pind, -1, "XMLWriter", le_xmlwriter);
-       }
-
-       ptr = intern->ptr;
-
-       if (ptr) {
-               retval = xmlTextWriterEndCDATA(ptr);
-               if (retval != -1) {
-                       RETURN_TRUE;
-               }
-       }
-       
-       RETURN_FALSE;
-}
-/* }}} */
-
-/* {{{ proto bool xmlwriter_write_cdata(resource xmlwriter, string content)
-Write full CDATA tag - returns FALSE on error */
-PHP_FUNCTION(xmlwriter_write_cdata)
-{
-       zval *pind;
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       char *content;
-       int content_len, retval;
-
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-       
-       if (this) {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &content, &content_len) == FAILURE) {
-                       return;
-               }
-               XMLWRITER_FROM_OBJECT(intern, this);
-       } else
-#endif
-       {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs", &pind, 
-                       &content, &content_len) == FAILURE) {
-                       return;
-               }
-               ZEND_FETCH_RESOURCE(intern,xmlwriter_object *, &pind, -1, "XMLWriter", le_xmlwriter);
-       }
-
-       ptr = intern->ptr;
-
-       if (ptr) {
-               retval = xmlTextWriterWriteCDATA(ptr, content);
-               if (retval != -1) {
-                       RETURN_TRUE;
-               }
-       }
-       
-       RETURN_FALSE;
-}
-/* }}} */
-
-/* {{{ proto bool xmlwriter_text(resource xmlwriter, string content)
-Write text - returns FALSE on error */
-PHP_FUNCTION(xmlwriter_text)
-{
-       zval *pind;
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       char *content;
-       int content_len, retval;
-
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-       
-       if (this) {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &content, &content_len) == FAILURE) {
-                       return;
-               }
-               XMLWRITER_FROM_OBJECT(intern, this);
-       } else
-#endif
-       {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs", &pind, &content, &content_len) == FAILURE) {
-                       return;
-               }
-       
-               ZEND_FETCH_RESOURCE(intern,xmlwriter_object *, &pind, -1, "XMLWriter", le_xmlwriter);
-       }
-
-       ptr = intern->ptr;
-
-       if (ptr) {
-               retval = xmlTextWriterWriteString(ptr, content);
-               if (retval != -1) {
-                       RETURN_TRUE;
-               }
-       }
-       
-       RETURN_FALSE;
-}
-/* }}} */
-
-#if LIBXML_VERSION >= 20607
-/* {{{ proto bool xmlwriter_start_comment(resource xmlwriter)
-Create start comment - returns FALSE on error */
-PHP_FUNCTION(xmlwriter_start_comment)
-{
-       zval *pind;
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       int retval;
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-       
-       if (this) {
-               XMLWRITER_FROM_OBJECT(intern, this);
-       } else
-#endif
-       {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &pind) == FAILURE) {
-                       return;
-               }
-               ZEND_FETCH_RESOURCE(intern,xmlwriter_object *, &pind, -1, "XMLWriter", le_xmlwriter);
-       }
-
-       ptr = intern->ptr;
-
-       if (ptr) {
-               retval = xmlTextWriterStartComment(ptr);
-               if (retval != -1) {
-                       RETURN_TRUE;
-               }
-       }
-       
-       RETURN_FALSE;
-}
-/* }}} */
-
-/* {{{ proto bool xmlwriter_end_comment(resource xmlwriter)
-Create end comment - returns FALSE on error */
-PHP_FUNCTION(xmlwriter_end_comment)
-{
-       zval *pind;
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       int retval;
-
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-
-       if (this) {
-               XMLWRITER_FROM_OBJECT(intern, this);
-       } else
-#endif
-       {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &pind) == FAILURE) {
-                       return;
-               }
-               ZEND_FETCH_RESOURCE(intern,xmlwriter_object *, &pind, -1, "XMLWriter", le_xmlwriter);
-       }
-
-       ptr = intern->ptr;
-
-       if (ptr) {
-               retval = xmlTextWriterEndComment(ptr);
-               if (retval != -1) {
-                       RETURN_TRUE;
-               }
-       }
-       
-       RETURN_FALSE;
-}
-/* }}} */
-#endif  /* LIBXML_VERSION >= 20607 */
-
-
-/* {{{ proto bool xmlwriter_write_comment(resource xmlwriter, string content)
-Write full comment tag - returns FALSE on error */
-PHP_FUNCTION(xmlwriter_write_comment)
-{
-       zval *pind;
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       char *content;
-       int content_len, retval;
-
-       
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-
-       if (this) {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s",
-                       &content, &content_len) == FAILURE) {
-                       return;
-               }
-               XMLWRITER_FROM_OBJECT(intern, this);
-       } else
-#endif
-       {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs", &pind, 
-                       &content, &content_len) == FAILURE) {
-                       return;
-               }
-               ZEND_FETCH_RESOURCE(intern,xmlwriter_object *, &pind, -1, "XMLWriter", le_xmlwriter);
-       }
-
-       ptr = intern->ptr;
-
-       if (ptr) {
-               retval = xmlTextWriterWriteComment(ptr, content);
-               if (retval != -1) {
-                       RETURN_TRUE;
-               }
-       }
-       
-       RETURN_FALSE;
-}
-/* }}} */
-
-/* {{{ proto bool xmlwriter_start_document(resource xmlwriter, string version, string encoding, string standalone)
-Create document tag - returns FALSE on error */
-PHP_FUNCTION(xmlwriter_start_document)
-{
-       zval *pind;
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       char *version = NULL, *enc = NULL, *alone = NULL;
-       int version_len, enc_len, alone_len, retval;
-
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-
-       if (this) {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s!s!s!", &version, &version_len, &enc, &enc_len, &alone, &alone_len) == FAILURE) {
-                       return;
-               }
-               XMLWRITER_FROM_OBJECT(intern, this);
-       } else
-#endif
-       {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r|s!s!s!", &pind, &version, &version_len, &enc, &enc_len, &alone, &alone_len) == FAILURE) {
-                       return;
-               }
-               ZEND_FETCH_RESOURCE(intern,xmlwriter_object *, &pind, -1, "XMLWriter", le_xmlwriter);
-       }
-
-       ptr = intern->ptr;
-
-       if (ptr) {
-               retval = xmlTextWriterStartDocument(ptr, version, enc, alone);
-               if (retval != -1) {
-                       RETURN_TRUE;
-               }
-       }
-       
-       RETURN_FALSE;
-}
-/* }}} */
-
-/* {{{ proto bool xmlwriter_end_document(resource xmlwriter)
-End current document - returns FALSE on error */
-PHP_FUNCTION(xmlwriter_end_document)
-{
-       zval *pind;
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       int retval;
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-
-       if (this) {
-               XMLWRITER_FROM_OBJECT(intern, this);
-       } else
-#endif
-       {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &pind) == FAILURE) {
-                       return;
-               }
-               ZEND_FETCH_RESOURCE(intern,xmlwriter_object *, &pind, -1, "XMLWriter", le_xmlwriter);
-       }
-
-       ptr = intern->ptr;
-
-       if (ptr) {
-               retval = xmlTextWriterEndDocument(ptr);
-               if (retval != -1) {
-                       RETURN_TRUE;
-               }
-       }
-       
-       RETURN_FALSE;
-}
-/* }}} */
-
-/* {{{ proto bool xmlwriter_start_dtd(resource xmlwriter, string name, string pubid, string sysid)
-Create start DTD tag - returns FALSE on error */
-PHP_FUNCTION(xmlwriter_start_dtd)
-{
-       zval *pind;
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       char *name, *pubid = NULL, *sysid = NULL;
-       int name_len, pubid_len, sysid_len, retval;
-
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-
-       if (this) {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs|s!s!", &name, &name_len, &pubid, &pubid_len, &sysid, &sysid_len) == FAILURE) {
-                       return;
-               }
-
-               XMLWRITER_FROM_OBJECT(intern, this);
-       } else
-#endif
-       {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs|s!s!", &pind, &name, &name_len, &pubid, &pubid_len, &sysid, &sysid_len) == FAILURE) {
-                       return;
-               }
-       
-               ZEND_FETCH_RESOURCE(intern,xmlwriter_object *, &pind, -1, "XMLWriter", le_xmlwriter);
-       }
-       ptr = intern->ptr;
-
-       if (ptr) {
-               retval = xmlTextWriterStartDTD(ptr, name, pubid, sysid);
-               if (retval != -1) {
-                       RETURN_TRUE;
-               }
-       }
-       
-       RETURN_FALSE;
-}
-/* }}} */
-
-/* {{{ proto bool xmlwriter_end_dtd(resource xmlwriter)
-End current DTD - returns FALSE on error */
-PHP_FUNCTION(xmlwriter_end_dtd)
-{
-       zval *pind;
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       int retval;
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-
-       if (this) {
-               XMLWRITER_FROM_OBJECT(intern, this);
-       } else
-#endif
-       {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &pind) == FAILURE) {
-                       return;
-               }
-       
-               ZEND_FETCH_RESOURCE(intern,xmlwriter_object *, &pind, -1, "XMLWriter", le_xmlwriter);
-       }
-       ptr = intern->ptr;
-
-       if (ptr) {
-               retval = xmlTextWriterEndDTD(ptr);
-               if (retval != -1) {
-                       RETURN_TRUE;
-               }
-       }
-       
-       RETURN_FALSE;
-}
-/* }}} */
-
-/* {{{ proto bool xmlwriter_write_dtd(resource xmlwriter, string name, string pubid, string sysid, string subset)
-Write full DTD tag - returns FALSE on error */
-PHP_FUNCTION(xmlwriter_write_dtd)
-{
-       zval *pind;
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       char *name, *pubid = NULL, *sysid = NULL, *subset = NULL;
-       int name_len, pubid_len, sysid_len, subset_len, retval;
-
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-
-       if (this) {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|s!s!s!", &name, &name_len, &pubid, &pubid_len, &sysid, &sysid_len, &subset, &subset_len) == FAILURE) {
-                       return;
-               }
-
-               XMLWRITER_FROM_OBJECT(intern, this);
-       } else
-#endif
-       {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs|s!s!s!", &pind, &name, &name_len, &pubid, &pubid_len, &sysid, &sysid_len, &subset, &subset_len) == FAILURE) {
-                       return;
-               }
-       
-               ZEND_FETCH_RESOURCE(intern,xmlwriter_object *, &pind, -1, "XMLWriter", le_xmlwriter);
-       }
-
-       ptr = intern->ptr;
-
-       if (ptr) {
-               retval = xmlTextWriterWriteDTD(ptr, name, pubid, sysid, subset);
-               if (retval != -1) {
-                       RETURN_TRUE;
-               }
-       }
-       
-       RETURN_FALSE;
-}
-/* }}} */
-
-/* {{{ proto bool xmlwriter_start_dtd_element(resource xmlwriter, string name)
-Create start DTD element - returns FALSE on error */
-PHP_FUNCTION(xmlwriter_start_dtd_element)
-{
-       zval *pind;
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       char *name;
-       int name_len, retval;
-
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-
-       if (this) {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &name, &name_len) == FAILURE) {
-                       return;
-               }
-               XMLWRITER_FROM_OBJECT(intern, this);
-       } else
-#endif
-       {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs", &pind, &name, &name_len) == FAILURE) {
-                       return;
-               }
-               ZEND_FETCH_RESOURCE(intern,xmlwriter_object *, &pind, -1, "XMLWriter", le_xmlwriter);
-       }
-
-       retval = xmlValidateName((xmlChar *) name, 0);
-       if (retval != 0) {
-               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid Attribute Name");
-               RETURN_FALSE;
-       }
-
-       ptr = intern->ptr;
-
-       if (ptr) {
-               retval = xmlTextWriterStartDTDElement(ptr, name);
-               if (retval != -1) {
-                       RETURN_TRUE;
-               }
-       }
-       
-       RETURN_FALSE;
-}
-/* }}} */
-
-/* {{{ proto bool xmlwriter_end_dtd_element(resource xmlwriter)
-End current DTD element - returns FALSE on error */
-PHP_FUNCTION(xmlwriter_end_dtd_element)
-{
-       zval *pind;
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       int retval;
-
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-
-       if (this) {
-               XMLWRITER_FROM_OBJECT(intern, this);
-       } else
-#endif
-       {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &pind) == FAILURE) {
-                       return;
-               }
-       
-               ZEND_FETCH_RESOURCE(intern,xmlwriter_object *, &pind, -1, "XMLWriter", le_xmlwriter);
-       }
-       ptr = intern->ptr;
-
-       if (ptr) {
-               retval = xmlTextWriterEndDTDElement(ptr);
-               if (retval != -1) {
-                       RETURN_TRUE;
-               }
-       }
-       
-       RETURN_FALSE;
-}
-/* }}} */
-
-/* {{{ proto bool xmlwriter_write_dtd_element(resource xmlwriter, string name, string content)
-Write full DTD element tag - returns FALSE on error */
-PHP_FUNCTION(xmlwriter_write_dtd_element)
-{
-       zval *pind;
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       char *name, *content;
-       int name_len, content_len, retval;
-
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-
-       if (this) {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &name, &name_len) == FAILURE) {
-                       return;
-               }
-               XMLWRITER_FROM_OBJECT(intern, this);
-       } else
-#endif
-       {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rss", &pind, 
-                       &name, &name_len, &content, &content_len) == FAILURE) {
-                       return;
-               }
-               ZEND_FETCH_RESOURCE(intern,xmlwriter_object *, &pind, -1, "XMLWriter", le_xmlwriter);
-       }
-
-       retval = xmlValidateName((xmlChar *) name, 0);
-       if (retval != 0) {
-               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid Element Name");
-               RETURN_FALSE;
-       }
-
-       ptr = intern->ptr;
-
-       if (ptr) {
-               retval = xmlTextWriterWriteDTDElement(ptr, name, content);
-               if (retval != -1) {
-                       RETURN_TRUE;
-               }
-       }
-       
-       RETURN_FALSE;
-}
-/* }}} */
-
-/* {{{ proto bool xmlwriter_start_dtd_attlist(resource xmlwriter, string name)
-Create start DTD AttList - returns FALSE on error */
-PHP_FUNCTION(xmlwriter_start_dtd_attlist)
-{
-       zval *pind;
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       char *name;
-       int name_len, retval;
-
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-
-       if (this) {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &name, &name_len) == FAILURE) {
-                       return;
-               }
-               XMLWRITER_FROM_OBJECT(intern, this);
-       } else
-#endif
-       {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs", &pind, &name, &name_len) == FAILURE) {
-                       return;
-               }
-               ZEND_FETCH_RESOURCE(intern,xmlwriter_object *, &pind, -1, "XMLWriter", le_xmlwriter);
-       }
-
-       retval = xmlValidateName((xmlChar *) name, 0);
-       if (retval != 0) {
-               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid Attribute Name");
-               RETURN_FALSE;
-       }
-
-       ptr = intern->ptr;
-
-       if (ptr) {
-               retval = xmlTextWriterStartDTDAttlist(ptr, name);
-               if (retval != -1) {
-                       RETURN_TRUE;
-               }
-       }
-       
-       RETURN_FALSE;
-}
-/* }}} */
-
-/* {{{ proto bool xmlwriter_end_dtd_attlist(resource xmlwriter)
-End current DTD AttList - returns FALSE on error */
-PHP_FUNCTION(xmlwriter_end_dtd_attlist)
-{
-       zval *pind;
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       int retval;
-
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-
-       if (this) {
-               XMLWRITER_FROM_OBJECT(intern, this);
-       } else
-#endif
-       {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &pind) == FAILURE) {
-                       return;
-               }
-       
-               ZEND_FETCH_RESOURCE(intern,xmlwriter_object *, &pind, -1, "XMLWriter", le_xmlwriter);
-       }
-       ptr = intern->ptr;
-
-       if (ptr) {
-               retval = xmlTextWriterEndDTDAttlist(ptr);
-               if (retval != -1) {
-                       RETURN_TRUE;
-               }
-       }
-       
-       RETURN_FALSE;
-}
-/* }}} */
-
-/* {{{ proto bool xmlwriter_write_dtd_attlist(resource xmlwriter, string name, string content)
-Write full DTD AttList tag - returns FALSE on error */
-PHP_FUNCTION(xmlwriter_write_dtd_attlist)
-{
-       zval *pind;
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       char *name, *content;
-       int name_len, content_len, retval;
-
-       
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-
-       if (this) {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss",
-                       &name, &name_len, &content, &content_len) == FAILURE) {
-                       return;
-               }
-               XMLWRITER_FROM_OBJECT(intern, this);
-       } else
-#endif
-       {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rss", &pind, 
-                       &name, &name_len, &content, &content_len) == FAILURE) {
-                       return;
-               }
-               ZEND_FETCH_RESOURCE(intern,xmlwriter_object *, &pind, -1, "XMLWriter", le_xmlwriter);
-       }
-
-       retval = xmlValidateName((xmlChar *) name, 0);
-       if (retval != 0) {
-               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid Element Name");
-               RETURN_FALSE;
-       }
-
-
-       ptr = intern->ptr;
-
-       if (ptr) {
-               retval = xmlTextWriterWriteDTDAttlist(ptr, name, content);
-               if (retval != -1) {
-                       RETURN_TRUE;
-               }
-       }
-       
-       RETURN_FALSE;
-}
-/* }}} */
-
-/* {{{ proto bool xmlwriter_start_dtd_entity(resource xmlwriter, string name, bool isparam)
-Create start DTD Entity - returns FALSE on error */
-PHP_FUNCTION(xmlwriter_start_dtd_entity)
-{
-       zval *pind;
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       char *name;
-       int name_len, retval;
-       zend_bool isparm;
-
-       
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-
-       if (this) {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sb", &name, &name_len, &isparm) == FAILURE) {
-                       return;
-               }
-               XMLWRITER_FROM_OBJECT(intern, this);
-       } else
-#endif
-       {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rsb", &pind, &name, &name_len, &isparm) == FAILURE) {
-                       return;
-               }
-               ZEND_FETCH_RESOURCE(intern,xmlwriter_object *, &pind, -1, "XMLWriter", le_xmlwriter);
-       }
-
-       retval = xmlValidateName((xmlChar *) name, 0);
-       if (retval != 0) {
-               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid Attribute Name");
-               RETURN_FALSE;
-       }
-
-       ptr = intern->ptr;
-
-       if (ptr) {
-               retval = xmlTextWriterStartDTDEntity(ptr, isparm, name);
-               if (retval != -1) {
-                       RETURN_TRUE;
-               }
-       }
-       
-       RETURN_FALSE;
-}
-/* }}} */
-
-/* {{{ proto bool xmlwriter_end_dtd_entity(resource xmlwriter)
-End current DTD Entity - returns FALSE on error */
-PHP_FUNCTION(xmlwriter_end_dtd_entity)
-{
-       zval *pind;
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       int retval;
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-
-       if (this) {
-               XMLWRITER_FROM_OBJECT(intern, this);
-       } else
-#endif
-       {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &pind) == FAILURE) {
-                       return;
-               }
-       
-               ZEND_FETCH_RESOURCE(intern,xmlwriter_object *, &pind, -1, "XMLWriter", le_xmlwriter);
-       }
-       ptr = intern->ptr;
-
-       if (ptr) {
-               retval = xmlTextWriterEndDTDEntity(ptr);
-               if (retval != -1) {
-                       RETURN_TRUE;
-               }
-       }
-       
-       RETURN_FALSE;
-}
-/* }}} */
-
-/* {{{ proto bool xmlwriter_write_dtd_entity(resource xmlwriter, string name, string content)
-Write full DTD Entity tag - returns FALSE on error */
-PHP_FUNCTION(xmlwriter_write_dtd_entity)
-{
-       zval *pind;
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       char *name, *content;
-       int name_len, content_len, retval;
-
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-
-       if (this) {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss",
-                       &name, &name_len, &content, &content_len) == FAILURE) {
-                       return;
-               }
-               XMLWRITER_FROM_OBJECT(intern, this);
-       } else
-#endif
-       {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rss", &pind, 
-                       &name, &name_len, &content, &content_len) == FAILURE) {
-                       return;
-               }
-               ZEND_FETCH_RESOURCE(intern,xmlwriter_object *, &pind, -1, "XMLWriter", le_xmlwriter);
-       }
-
-       retval = xmlValidateName((xmlChar *) name, 0);
-       if (retval != 0) {
-               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid Element Name");
-               RETURN_FALSE;
-       }
-
-       ptr = intern->ptr;
-
-       if (ptr) {
-               retval = xmlTextWriterWriteDTDAttlist(ptr, name, content);
-               if (retval != -1) {
-                       RETURN_TRUE;
-               }
-       }
-       
-       RETURN_FALSE;
-}
-/* }}} */
-
-/* {{{ proto resource xmlwriter_open_uri(resource xmlwriter, string source)
-Create new xmlwriter using source uri for output */
-PHP_FUNCTION(xmlwriter_open_uri)
-{
-       char *valid_file = NULL;
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       char *source;
-       char resolved_path[MAXPATHLEN + 1];
-       int source_len;
-
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-       ze_xmlwriter_object *ze_obj;
-#endif
-
-#ifndef ZEND_ENGINE_2
-       xmlOutputBufferPtr out_buffer;
-       void *ioctx;
-#endif
-
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &source, &source_len) == FAILURE) {
-               WRONG_PARAM_COUNT;
-               return;
-       }
-       
-#ifdef ZEND_ENGINE_2
-       if (this) {
-               // We do not use XMLWRITER_FROM_OBJECT, xmlwriter init function here
-               ze_obj = (ze_xmlwriter_object*) zend_object_store_get_object(this TSRMLS_CC); 
-       }
-#endif
-
-       if (source_len == 0) {
-               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Empty string as source");
-               RETURN_FALSE;
-       }
-
-       valid_file = _xmlwriter_get_valid_file_path(source, resolved_path, MAXPATHLEN TSRMLS_CC);
-       if (!valid_file) {
-               RETURN_FALSE;
-       }
-
-#ifndef ZEND_ENGINE_2
-       ioctx = php_xmlwriter_streams_IO_open_write_wrapper(valid_file TSRMLS_CC);
-       if (ioctx == NULL) {
-               RETURN_FALSE;
-       }
-
-       out_buffer = xmlOutputBufferCreateIO(php_xmlwriter_streams_IO_write, 
-               php_xmlwriter_streams_IO_close, ioctx, NULL);
-
-       if (out_buffer == NULL) {
-               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to create output buffer");
-               RETURN_FALSE;
-       }
-       ptr = xmlNewTextWriter(out_buffer);
-#else
-       ptr = xmlNewTextWriterFilename(valid_file, 0);
-#endif
-
-       if (!ptr) {
-               RETURN_FALSE;
-       }
-
-       intern = emalloc(sizeof(xmlwriter_object));
-       intern->ptr = ptr;
-       intern->output = NULL;
-#ifndef ZEND_ENGINE_2
-       intern->uri_output = out_buffer;
-#else
-       if (this) {
-               ze_obj->xmlwriter_ptr = intern;
-               RETURN_TRUE;
-       } else
-#endif
-       {
-               ZEND_REGISTER_RESOURCE(return_value,intern,le_xmlwriter);
-       }
-}
-/* }}} */
-
-/* {{{ proto resource xmlwriter_open_memory()
-Create new xmlwriter using memory for string output */
-PHP_FUNCTION(xmlwriter_open_memory)
-{
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       xmlBufferPtr buffer;
-
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-       ze_xmlwriter_object *ze_obj;
-#endif
-
-#ifdef ZEND_ENGINE_2
-       if (this) {
-               // We do not use XMLWRITER_FROM_OBJECT, xmlwriter init function here
-               ze_obj = (ze_xmlwriter_object*) zend_object_store_get_object(this TSRMLS_CC); 
-       }
-#endif
-
-       buffer = xmlBufferCreate();
-
-       if (buffer == NULL) {
-               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to create output buffer");
-               RETURN_FALSE;
-       }
-
-       ptr = xmlNewTextWriterMemory(buffer, 0);
-       if (! ptr) {
-               xmlBufferFree(buffer);
-               RETURN_FALSE;
-       }
-
-       intern = emalloc(sizeof(xmlwriter_object));
-       intern->ptr = ptr;
-       intern->output = buffer;
-#ifndef ZEND_ENGINE_2
-       intern->uri_output = NULL;
-#else
-       if (this) {
-               ze_obj->xmlwriter_ptr = intern;
-               RETURN_TRUE;
-       } else
-#endif
-       {
-               ZEND_REGISTER_RESOURCE(return_value,intern,le_xmlwriter);
-       }
-
-}
-/* }}} */
-
-/* {{{ php_xmlwriter_flush */
-static void php_xmlwriter_flush(INTERNAL_FUNCTION_PARAMETERS, int force_string) {
-       zval *pind;
-       xmlwriter_object *intern;
-       xmlTextWriterPtr ptr;
-       xmlBufferPtr buffer;
-       zend_bool empty = 1;
-       int output_bytes;
-
-
-#ifdef ZEND_ENGINE_2
-       zval *this = getThis();
-
-       if (this) {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|b", &empty) == FAILURE) {
-                       return;
-               }
-               XMLWRITER_FROM_OBJECT(intern, this);
-       } else
-#endif
-       {
-               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r|b", &pind, &empty) == FAILURE) {
-                       return;
-               }
-
-               ZEND_FETCH_RESOURCE(intern,xmlwriter_object *, &pind, -1, "XMLWriter", le_xmlwriter);
-       }
-       ptr = intern->ptr;
-
-       if (ptr) {
-               buffer = intern->output;
-               if (force_string == 1 && buffer == NULL) {
-                       RETURN_EMPTY_STRING();
-               }
-               output_bytes = xmlTextWriterFlush(ptr);
-               if (buffer) {
-                       RETVAL_STRING(buffer->content, 1);
-                       if (empty) {
-                               xmlBufferEmpty(buffer);
-                       }
-               } else {
-                       RETVAL_LONG(output_bytes);
-               }
-               return;
-       }
-       
-       RETURN_EMPTY_STRING();
-}
-/* }}} */
-
-/* {{{ proto string xmlwriter_output_memory(resource xmlwriter [,bool flush])
-Output current buffer as string */
-PHP_FUNCTION(xmlwriter_output_memory)
-{
-       php_xmlwriter_flush(INTERNAL_FUNCTION_PARAM_PASSTHRU, 1);
-}
-/* }}} */
-
-/* {{{ proto mixed xmlwriter_flush(resource xmlwriter [,bool empty])
-Output current buffer */
-PHP_FUNCTION(xmlwriter_flush)
-{
-       php_xmlwriter_flush(INTERNAL_FUNCTION_PARAM_PASSTHRU, 0);
-}
-/* }}} */
-
-/* {{{ PHP_MINIT_FUNCTION
- */
-PHP_MINIT_FUNCTION(xmlwriter)
-{
-#ifdef ZEND_ENGINE_2
-       zend_class_entry ce;
-#endif
-
-       le_xmlwriter = zend_register_list_destructors_ex(xmlwriter_dtor, NULL, "xmlwriter", module_number);
-
-#ifdef ZEND_ENGINE_2
-       memcpy(&xmlwriter_object_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers));
-       xmlwriter_object_handlers.clone_obj      = NULL;
-       INIT_CLASS_ENTRY(ce, "XMLWriter", xmlwriter_class_functions);
-       ce.create_object = xmlwriter_object_new;
-       xmlwriter_class_entry_ce = zend_register_internal_class(&ce TSRMLS_CC);
-#endif
-       return SUCCESS;
-}
-/* }}} */
-
-/* {{{ PHP_MSHUTDOWN_FUNCTION
- */
-PHP_MSHUTDOWN_FUNCTION(xmlwriter)
-{
-       return SUCCESS;
-}
-/* }}} */
-
-/* {{{ PHP_MINFO_FUNCTION
- */
-PHP_MINFO_FUNCTION(xmlwriter)
-{
-       php_info_print_table_start();
-       {
-               php_info_print_table_row(2, "XMLWriter", "enabled");
-       }
-       php_info_print_table_end();
-}
-/* }}} */
-
-/*
- * Local variables:
- * tab-width: 4
- * c-basic-offset: 4
- * End:
- * vim600: noet sw=4 ts=4 fdm=marker
- * vim<600: noet sw=4 ts=4
- */
diff --git a/ext/xmlwriter/php_xmlwriter.h b/ext/xmlwriter/php_xmlwriter.h
deleted file mode 100644 (file)
index 1c3687e..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
-  +----------------------------------------------------------------------+
-  | PHP Version 5                                                        |
-  +----------------------------------------------------------------------+
-  | Copyright (c) 1997-2004 The PHP Group                                |
-  +----------------------------------------------------------------------+
-  | This source file is subject to version 3.0 of the PHP license,       |
-  | that is bundled with this package in the file LICENSE, and is        |
-  | available through the world-wide-web at the following url:           |
-  | http://www.php.net/license/3_0.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: Rob Richards <rrichards@php.net>                             |
-  +----------------------------------------------------------------------+
-*/
-
-/* $Id$ */
-
-#ifndef PHP_XMLWRITER_H
-#define PHP_XMLWRITER_H
-
-extern zend_module_entry xmlwriter_module_entry;
-#define phpext_xmlwriter_ptr &xmlwriter_module_entry
-
-#ifdef PHP_WIN32
-#define PHP_XMLWRITER_API __declspec(dllexport)
-#else
-#define PHP_XMLWRITER_API
-#endif
-
-#ifdef ZTS
-#include "TSRM.h"
-#endif
-
-#include <libxml/tree.h>
-#include <libxml/xmlwriter.h>
-#include <libxml/uri.h>
-
-/* Resource struct, not the object :) */
-typedef struct _xmlwriter_object {
-       xmlTextWriterPtr ptr;
-       xmlBufferPtr output;
-#ifndef ZEND_ENGINE_2
-       xmlOutputBufferPtr uri_output;
-#endif
-} xmlwriter_object;
-
-
-/* Extends zend object */
-typedef struct _ze_xmlwriter_object {
-       zend_object zo;
-       xmlwriter_object *xmlwriter_ptr;
-} ze_xmlwriter_object;
-
-static void xmlwriter_free_resource_ptr(xmlwriter_object *intern TSRMLS_DC);
-static void xmlwriter_dtor(zend_rsrc_list_entry *rsrc TSRMLS_DC);
-
-zend_class_entry *xmlwriter_class_entry_ce;
-
-#if LIBXML_VERSION >= 20605
-PHP_FUNCTION(xmlwriter_set_indent);
-PHP_FUNCTION(xmlwriter_set_indent_string);
-#endif
-PHP_FUNCTION(xmlwriter_start_attribute);
-PHP_FUNCTION(xmlwriter_end_attribute);
-PHP_FUNCTION(xmlwriter_start_attribute_ns);
-PHP_FUNCTION(xmlwriter_write_attribute);
-#if LIBXML_VERSION > 20617
-PHP_FUNCTION(xmlwriter_write_attribute_ns);
-#endif
-PHP_FUNCTION(xmlwriter_start_element);
-PHP_FUNCTION(xmlwriter_end_element);
-PHP_FUNCTION(xmlwriter_start_element_ns);
-PHP_FUNCTION(xmlwriter_write_element);
-PHP_FUNCTION(xmlwriter_write_element_ns);
-PHP_FUNCTION(xmlwriter_start_pi);
-PHP_FUNCTION(xmlwriter_end_pi);
-PHP_FUNCTION(xmlwriter_write_pi);
-PHP_FUNCTION(xmlwriter_start_cdata);
-PHP_FUNCTION(xmlwriter_end_cdata);
-PHP_FUNCTION(xmlwriter_write_cdata);
-PHP_FUNCTION(xmlwriter_text);
-PHP_FUNCTION(xmlwriter_start_document);
-PHP_FUNCTION(xmlwriter_end_document);
-#if LIBXML_VERSION >= 20607
-PHP_FUNCTION(xmlwriter_start_comment);
-PHP_FUNCTION(xmlwriter_end_comment);
-#endif
-PHP_FUNCTION(xmlwriter_write_comment);
-PHP_FUNCTION(xmlwriter_start_dtd);
-PHP_FUNCTION(xmlwriter_end_dtd);
-PHP_FUNCTION(xmlwriter_write_dtd);
-PHP_FUNCTION(xmlwriter_start_dtd_element);
-PHP_FUNCTION(xmlwriter_end_dtd_element);
-PHP_FUNCTION(xmlwriter_open_uri);
-PHP_FUNCTION(xmlwriter_open_memory);
-PHP_FUNCTION(xmlwriter_output_memory);
-PHP_FUNCTION(xmlwriter_flush);
-
-#endif /* PHP_XMLWRITER_H */
-
-/*
- * Local variables:
- * tab-width: 4
- * c-basic-offset: 4
- * End:
- * vim600: noet sw=4 ts=4 fdm=marker
- * vim<600: noet sw=4 ts=4
- */
diff --git a/ext/xmlwriter/tests/001.phpt b/ext/xmlwriter/tests/001.phpt
deleted file mode 100644 (file)
index a9349d2..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
---TEST--
-XMLWriter: libxml2 XML Writer, file buffer, flush
---SKIPIF--
-<?php if (!extension_loaded("xmlwriter")) print "skip"; ?>
---FILE--
-<?php 
-/* $Id$ */
-
-$doc_dest = '001.xml';
-$xw = xmlwriter_open_uri($doc_dest);
-xmlwriter_start_document($xw, '1.0', 'UTF-8');
-xmlwriter_start_element($xw, "tag1");
-xmlwriter_end_document($xw);
-
-// Force to write and empty the buffer
-$output_bytes = xmlwriter_flush($xw, true);
-echo file_get_contents($doc_dest);
-unset($xw);
-unlink('001.xml');
-?>
-===DONE===
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<tag1/>
-===DONE===
diff --git a/ext/xmlwriter/tests/002.phpt b/ext/xmlwriter/tests/002.phpt
deleted file mode 100644 (file)
index f2537a4..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-XMLWriter: libxml2 XML Writer, membuffer, flush
---SKIPIF--
-<?php if (!extension_loaded("xmlwriter")) print "skip"; ?>
---FILE--
-<?php 
-/* $Id$ */
-
-$doc_dest = '001.xml';
-$xw = xmlwriter_open_memory($doc_dest);
-xmlwriter_start_document($xw, '1.0', 'UTF-8');
-xmlwriter_start_element($xw, "tag1");
-xmlwriter_end_document($xw);
-
-// Force to write and empty the buffer
-echo xmlwriter_flush($xw, true);
-?>
-===DONE===
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<tag1/>
-===DONE===
diff --git a/ext/xmlwriter/tests/003.phpt b/ext/xmlwriter/tests/003.phpt
deleted file mode 100644 (file)
index 5415797..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
---TEST--
-XMLWriter: libxml2 XML Writer, membuffer, flush, attribute
---SKIPIF--
-<?php if (!extension_loaded("xmlwriter")) print "skip"; ?>
---FILE--
-<?php 
-/* $Id$ */
-
-$doc_dest = '001.xml';
-$xw = xmlwriter_open_memory($doc_dest);
-xmlwriter_start_document($xw, '1.0', 'UTF-8');
-xmlwriter_start_element($xw, "tag1");
-
-
-$res = xmlwriter_start_attribute($xw, 'attr1');
-xmlwriter_text($xw, "attr1_value");
-xmlwriter_end_attribute($xw);
-
-xmlwriter_write_attribute($xw, "att2", "att2_value");
-xmlwriter_text($xw, "Test text for tag1");
-$res = xmlwriter_start_element($xw, 'tag2');
-if ($res < 1) {
-       echo "StartElement context validation failed\n";
-       exit();
-}
-xmlwriter_end_document($xw);
-
-// Force to write and empty the buffer
-echo xmlwriter_flush($xw, true);
-?>
-===DONE===
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<tag1 attr1="attr1_value" att2="att2_value">Test text for tag1<tag2/></tag1>
-===DONE===
diff --git a/ext/xmlwriter/tests/004.phpt b/ext/xmlwriter/tests/004.phpt
deleted file mode 100644 (file)
index 2d3e858..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
---TEST--
-XMLWriter: libxml2 XML Writer, file buffer, flush
---SKIPIF--
-<?php if (!extension_loaded("xmlwriter")) print "skip"; ?>
---FILE--
-<?php 
-/* $Id$ */
-
-$doc_dest = '001.xml';
-$xw = xmlwriter_open_uri($doc_dest);
-xmlwriter_start_document($xw, '1.0', 'UTF-8');
-xmlwriter_start_element($xw, "tag1");
-
-xmlwriter_start_pi($xw, "PHP");
-xmlwriter_text($xw, 'echo $a;');
-xmlwriter_end_pi($xw);
-xmlwriter_end_document($xw);
-
-// Force to write and empty the buffer
-$output_bytes = xmlwriter_flush($xw, true);
-$md5_out = md5_file($doc_dest);
-$md5_res = md5('<?xml version="1.0" encoding="UTF-8"?>
-<tag1><?PHP echo $a;?></tag1>
-');
-unset($xw);
-unlink('001.xml');
-if ($md5_out != $md5_res) {
-       echo "failed: $md5_res != $md5_out\n";
-} else {
-       echo "ok.\n";
-}
-?>
-===DONE===
---EXPECT--
-ok.
-===DONE===
diff --git a/ext/xmlwriter/tests/005.phpt b/ext/xmlwriter/tests/005.phpt
deleted file mode 100644 (file)
index ab933c6..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
---TEST--
-XMLWriter: libxml2 XML Writer, comments 
---SKIPIF--
-<?php
-if (!extension_loaded("xmlwriter")) die("skip"); 
-if (!function_exists("xmlwriter_start_comment")) die("skip: libxml2 2.6.7+ required");
-?>
---FILE--
-<?php 
-/* $Id$ */
-
-$doc_dest = '001.xml';
-$xw = xmlwriter_open_uri($doc_dest);
-xmlwriter_start_document($xw, '1.0', 'UTF-8');
-xmlwriter_start_element($xw, "tag1");
-
-xmlwriter_start_comment($xw);
-xmlwriter_text($xw, 'comment');
-xmlwriter_end_comment($xw);
-xmlwriter_write_comment($xw, "comment #2");
-xmlwriter_end_document($xw);
-
-// Force to write and empty the buffer
-$output_bytes = xmlwriter_flush($xw, true);
-echo file_get_contents($doc_dest);
-unset($xw);
-unlink('001.xml');
-?>
-===DONE===
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<tag1><!--comment--><!--comment #2--></tag1>
-===DONE===
diff --git a/ext/xmlwriter/tests/OO_001.phpt b/ext/xmlwriter/tests/OO_001.phpt
deleted file mode 100644 (file)
index be448b9..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
---TEST--
-XMLWriter: libxml2 XML Writer, file buffer, flush
---SKIPIF--
-<?php if (!extension_loaded("xmlwriter")) print "skip"; ?>
---FILE--
-<?php 
-/* $Id$ */
-
-$doc_dest = '001.xml';
-$xw = new XMLWriter();
-$xw->openUri($doc_dest);
-$xw->startDocument('1.0', 'UTF-8', 'standalonearg');
-$xw->startElement("tag1");
-$xw->endDocument();
-
-// Force to write and empty the buffer
-$output_bytes = $xw->flush(true);
-echo file_get_contents($doc_dest);
-unset($xw);
-unlink('001.xml');
-?>
-===DONE===
---EXPECT--
-<?xml version="1.0" encoding="UTF-8" standalone="standalonearg"?>
-<tag1/>
-===DONE===
diff --git a/ext/xmlwriter/tests/OO_002.phpt b/ext/xmlwriter/tests/OO_002.phpt
deleted file mode 100644 (file)
index ec605f5..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-XMLWriter: libxml2 XML Writer, membuffer, flush
---SKIPIF--
-<?php if (!extension_loaded("xmlwriter")) print "skip"; ?>
---FILE--
-<?php 
-/* $Id$ */
-
-$xw = new XMLWriter();
-$xw->openMemory();
-$xw->startDocument('1.0', 'UTF-8', 'standalone');
-$xw->startElement("tag1");
-$xw->endDocument();
-
-// Force to write and empty the buffer
-echo $xw->flush(true);
-?>
-===DONE===
---EXPECT--
-<?xml version="1.0" encoding="UTF-8" standalone="standalone"?>
-<tag1/>
-===DONE===
diff --git a/ext/xmlwriter/tests/OO_003.phpt b/ext/xmlwriter/tests/OO_003.phpt
deleted file mode 100644 (file)
index 7fb4791..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
---TEST--
-XMLWriter: libxml2 XML Writer, membuffer, flush, text, attribute
---SKIPIF--
-<?php if (!extension_loaded("xmlwriter")) print "skip"; ?>
---FILE--
-<?php 
-/* $Id$ */
-
-$xw = new XMLWriter();
-$xw->openMemory();
-$xw->startDocument('1.0', 'UTF-8');
-$xw->startElement("tag1");
-
-$res = $xw->startAttribute('attr1');
-$xw->text("attr1_value");
-$xw->endAttribute();
-
-$res = $xw->startAttribute('attr2');
-$xw->text("attr2_value");
-$xw->endAttribute();
-
-$xw->text("Test text for tag1");
-$res = $xw->startElement('tag2');
-if ($res < 1) {
-       echo "StartElement context validation failed\n";
-       exit();
-}
-$xw->endDocument();
-
-// Force to write and empty the buffer
-echo $xw->flush(true);
-?>
-===DONE===
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<tag1 attr1="attr1_value" attr2="attr2_value">Test text for tag1<tag2/></tag1>
-===DONE===
diff --git a/ext/xmlwriter/tests/OO_004.phpt b/ext/xmlwriter/tests/OO_004.phpt
deleted file mode 100644 (file)
index 08b423c..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
---TEST--
-XMLWriter: libxml2 XML Writer, file buffer, flush
---SKIPIF--
-<?php if (!extension_loaded("xmlwriter")) print "skip"; ?>
---FILE--
-<?php 
-/* $Id$ */
-
-$doc_dest = '001.xml';
-$xw = new XMLWriter();
-$xw->openUri($doc_dest);
-$xw->startDocument('1.0', 'UTF-8');
-$xw->startElement("tag1");
-
-$xw->startPi("PHP");
-$xw->text('echo $a;');
-$xw->endPi();
-$xw->endDocument();
-
-// Force to write and empty the buffer
-$xw->flush(true);
-$md5_out = md5_file($doc_dest);
-$md5_res = md5('<?xml version="1.0" encoding="UTF-8"?>
-<tag1><?PHP echo $a;?></tag1>
-');
-unset($xw);
-unlink('001.xml');
-if ($md5_out != $md5_res) {
-       echo "failed: $md5_res != $md5_out\n";
-} else {
-       echo "ok.\n";
-}
-?>
-===DONE===
---EXPECT--
-ok.
-===DONE===
diff --git a/ext/xmlwriter/tests/OO_005.phpt b/ext/xmlwriter/tests/OO_005.phpt
deleted file mode 100644 (file)
index 2c6d2f4..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
---TEST--
-XMLWriter: libxml2 XML Writer, comments 
---SKIPIF--
-<?php 
-if (!extension_loaded("xmlwriter")) die("skip"); 
-if (!function_exists("xmlwriter_start_comment")) die("skip: libxml2 2.6.7+ required");
-?>
---FILE--
-<?php 
-/* $Id$ */
-
-$doc_dest = '001.xml';
-$xw = new XMLWriter();
-$xw->openUri($doc_dest);
-$xw->startDocument('1.0', 'UTF-8');
-$xw->startElement("tag1");
-$xw->startComment();
-$xw->text('comment');
-$xw->endComment();
-$xw->writeComment("comment #2");
-$xw->endDocument();
-
-// Force to write and empty the buffer
-$output_bytes = $xw->flush(true);
-echo file_get_contents($doc_dest);
-unset($xw);
-unlink('001.xml');
-?>
-===DONE===
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<tag1><!--comment--><!--comment #2--></tag1>
-===DONE===
diff --git a/main/php_realpath.c b/main/php_realpath.c
deleted file mode 100644 (file)
index 0607e91..0000000
+++ /dev/null
@@ -1,285 +0,0 @@
-/*
-  +----------------------------------------------------------------------+
-  | PHP Version 5                                                        |
-  +----------------------------------------------------------------------+
-  | Copyright (c) 1997-2004 The PHP Group                                |
-  +----------------------------------------------------------------------+
-  | This source file is subject to version 3.0 of the PHP license,       |
-  | that is bundled with this package in the file LICENSE, and is        |
-  | available through the world-wide-web at the following url:           |
-  | http://www.php.net/license/3_0.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: Sander Steffann (sander@steffann.nl)                         |
-  +----------------------------------------------------------------------+
-*/
-
-/* $Id$ */
-
-#include "php.h"
-
-#if HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#include <sys/stat.h>
-
-#ifndef MAXSYMLINKS
-#define MAXSYMLINKS            32
-#endif
-
-#ifndef S_ISDIR
-#define S_ISDIR(mode)   (((mode)&S_IFMT) == S_IFDIR)
-#endif
-
-char *php_realpath(char *path, char resolved_path[]);
-
-#ifdef PHP_WIN32
-#define IS_SLASH(p) ((p) == '/' || (p) == '\\')
-#else
-#define IS_SLASH(p) ((p) == '/')
-#endif
-
-char *php_realpath(char *path, char resolved_path []) {
-       char path_construction[MAXPATHLEN];     /* We build the result in here */
-       char *writepos;                                                 /* Position to write next char */
-
-       char path_copy[MAXPATHLEN];                             /* A work-copy of the path */
-       char *workpos;                                                  /* working position in *path */
-
-#if !defined(PHP_WIN32)
-       char buf[MAXPATHLEN];                                   /* Buffer for readlink */
-       int linklength;                                                 /* The result from readlink */
-#endif
-       int linkcount = 0;                                              /* Count symlinks to avoid loops */
-       
-       struct stat filestat;                                   /* result from stat */
-
-#ifdef PHP_WIN32
-       char *temppos;                                          /* position while counting '.' */
-       int dotcount;                                           /* number of '.' */
-       int t;                                                          /* counter */
-#endif
-
-       /* Set the work-position to the beginning of the given path */
-       strcpy(path_copy, path);
-       workpos = path_copy;
-       
-#ifdef PHP_WIN32
-       /* Find out where we start - Windows version */
-       if (IS_SLASH(*workpos)) {
-               /* We start at the root of the current drive */
-               /* Get the current directory */
-               if (V_GETCWD(path_construction, MAXPATHLEN-1) == NULL) {
-                       /* Unable to get cwd */
-                       resolved_path[0] = 0;
-                       return NULL;
-               }
-               /* We only need the first three chars (for example "C:\") */
-               path_construction[3] = 0;
-               workpos++;
-       } else if (workpos[1] == ':') {
-               /* A drive-letter is specified, copy it */
-               strncpy(path_construction, path, 2);
-               strcat(path_construction, "\\");
-               workpos++;
-               workpos++;
-       } else {
-               /* Use the current directory */
-               if (V_GETCWD(path_construction, MAXPATHLEN-1) == NULL) {
-                       /* Unable to get cwd */
-                       resolved_path[0] = 0;
-                       return NULL;
-               }
-               strcat(path_construction, "\\");
-       }
-#else
-       /* Find out where we start - Unix version */
-       if (*workpos == '/') {
-               /* We start at the root */
-               strcpy(path_construction, "/");
-               workpos++;
-       } else {
-               /* Use the current directory */
-               if (V_GETCWD(path_construction, MAXPATHLEN-1) == NULL) {
-                       /* Unable to get cwd */
-                       resolved_path[0] = 0;
-                       return NULL;
-               }
-               strcat(path_construction, "/");
-       }
-#endif
-
-       /* Set the next-char-position */
-       writepos = &path_construction[strlen(path_construction)];
-
-       /* Go to the end, then stop */
-       while(*workpos != 0) {
-               /* Strip (back)slashes */
-               while(IS_SLASH(*workpos)) workpos++;
-
-#ifdef PHP_WIN32
-               /* reset dotcount */
-               dotcount = 0;
-
-               /* Look for .. */
-               if ((workpos[0] == '.') && (workpos[1] != 0)) {
-                       /* Windows accepts \...\ as \..\..\, \....\ as \..\..\..\, etc */
-                       /* At least Win98 does */
-                       
-                       temppos = workpos;
-                       while(*temppos++ == '.') {
-                               dotcount++;
-                               if (!IS_SLASH(*temppos) && (*temppos != 0) && (*temppos != '.')) {
-                                       /* This is not a /../ component, but a filename that starts with '.' */
-                                       dotcount = 0;
-                               }
-                       }
-                       
-                       /* Go back dotcount-1 times */
-                       for (t=0 ; t<(dotcount-1) ; t++) {
-                               workpos++;              /* move to next '.' */
-                               
-                               /* Can we still go back? */
-                               if ((writepos-3) <= path_construction) return NULL;
-
-                               /* Go back */
-                               writepos--;                                             /* move to '\' */
-                               writepos--;
-                               while(!IS_SLASH(*writepos)) writepos--; /* skip until previous '\\' */
-                       }
-                       workpos++;
-               }
-
-               /* No special case */
-               if (dotcount == 0) {
-                       /* Append */
-                       while(!IS_SLASH(*workpos) && (*workpos != 0)) {
-                               *writepos++ = *workpos++;
-                       }
-               }
-
-               /* Just one '.', go to next element */
-               if (dotcount == 1) {
-                       while(!IS_SLASH(*workpos) && (*workpos != 0)) {
-                               *workpos++;
-                       }
-                       
-                       /* Avoid double \ in the result */
-                       writepos--;
-               }
-               
-               /* If it was a directory, append a slash */
-               if (IS_SLASH(*workpos)) {
-                       *writepos++ = *workpos++;
-               }
-               *writepos = 0;
-#else /* defined(PHP_WIN32) */
-               /* Look for .. */
-               if ((workpos[0] == '.') && (workpos[1] != 0)) {
-                       if ((workpos[1] == '.') && ((workpos[2] == '/') || (workpos[2] == 0))) {
-                               /* One directory back */
-                               /* Set pointers to right position */
-                               workpos++;                                              /* move to second '.' */
-                               workpos++;                                              /* move to '/' */
-                               
-                               /* Only apply .. if not in root */
-                               if ((writepos-1) > path_construction) {
-                                       writepos--;                                             /* move to '/' */
-                                       while(*--writepos != '/') ;             /* skip until previous '/' */
-                               }
-                       } else {
-                               if (workpos[1] == '/') {
-                                       /* Found a /./ skip it */
-                                       workpos++;                                      /* move to '/' */
-
-                                       /* Avoid double / in the result */
-                                       writepos--;
-                               } else {
-                                       /* No special case, the name just started with a . */
-                                       /* Append */
-                                       while((*workpos != '/') && (*workpos != 0)) {
-                                               *writepos++ = *workpos++;
-                                       }
-                               }
-                       }
-               } else {
-                       /* No special case */
-                       /* Append */
-                       while((*workpos != '/') && (*workpos != 0)) {
-                               *writepos++ = *workpos++;
-                       }
-               }
-
-#if HAVE_SYMLINK
-               /* We are going to use path_construction, so close it */
-               *writepos = 0;
-
-               /* Check the current location to see if it is a symlink */
-               if((linklength = readlink(path_construction, buf, MAXPATHLEN)) != -1) {
-                       /* Check linkcount */
-                       if (linkcount > MAXSYMLINKS) return NULL;
-
-                       /* Count this symlink */
-                       linkcount++;
-
-                       /* Set end of buf */
-                       buf[linklength] = 0;
-
-                       /* Check for overflow */
-                       if ((strlen(workpos) + strlen(buf) + 1) >= MAXPATHLEN) return NULL;
-
-                       /* Remove the symlink-component wrom path_construction */
-                       writepos--;                                             /* move to '/' */
-                       while(*--writepos != '/') ;             /* skip until previous '/' */
-                       *++writepos = 0;                                /* end of string after '/' */
-
-                       /* If the symlink starts with a '/', empty path_construction */
-                       if (*buf == '/') {
-                               *path_construction = 0;
-                               writepos = path_construction;
-                       }
-
-                       /* Insert symlink into path_copy */
-                       strcat(buf, workpos);
-                       strcpy(path_copy, buf);
-                       workpos = path_copy;
-               }
-#endif /* HAVE_SYMLINK */
-
-               /* If it was a directory, append a slash */
-               if (*workpos == '/') {
-                       *writepos++ = *workpos++;
-               }
-               *writepos = 0;
-#endif /* defined(PHP_WIN32) */
-       }
-
-       /* Check if the resolved path is a directory */
-       if (V_STAT(path_construction, &filestat) != 0) {
-               if (errno != ENOENT) return NULL;
-       } else {
-               if (S_ISDIR(filestat.st_mode)) {
-                       /* It's a directory, append a / if needed */
-                       if (*(writepos-1) != '/') {
-                               /* Check for overflow */
-                               if ((strlen(workpos) + 2) >= MAXPATHLEN) {
-                                        return NULL;
-                               }
-                               *writepos++ = '/';
-                               *writepos = 0;
-                       }
-               }
-       }
-       
-       strcpy(resolved_path, path_construction);
-       return resolved_path;
-}
-
-/*
- * Local variables:
- * tab-width: 4
- * c-basic-offset: 4
- * End:
- */