CVS update: php3/functions

From: Date: Fri, 23 Oct 1998 20:46:59 +0000
Subject: CVS update: php3/functions
Groups: php.dev 
Request: Send a blank email to php-dev+get-1993@lists.php.net to get a copy of this message
Date: Friday October 23, 1998 @ 16:46 Author: shane Update of /repository/php3/functions In directory asf:/u2/tmp/cvs-serv13790/functions Modified Files: oracle_hack.c xml.c Log Message: xml compiles on win32 now as a dll Index: php3/functions/oracle_hack.c diff -c php3/functions/oracle_hack.c:1.1 php3/functions/oracle_hack.c:1.2 *** php3/functions/oracle_hack.c:1.1 Mon Oct 5 10:46:49 1998 --- php3/functions/oracle_hack.c Fri Oct 23 16:46:58 1998 *************** *** 13,16 **** --- 13,24 ---- PHPAPI HashTable *php3i_get_symbol_table(void) { TLS_VARS; return &GLOBAL(symbol_table); + } + + /* This is becoming a general callback file, rather than an oracle hack + * file. Seems we need the following now for xml. */ + + PHPAPI HashTable *php3i_get_function_table(void) { + TLS_VARS; + return &GLOBAL(function_table); } Index: php3/functions/xml.c diff -c php3/functions/xml.c:1.7 php3/functions/xml.c:1.8 *** php3/functions/xml.c:1.7 Fri Oct 23 16:07:16 1998 --- php3/functions/xml.c Fri Oct 23 16:46:58 1998 *************** *** 27,44 **** +----------------------------------------------------------------------+ */ ! /* $Id: xml.c,v 1.7 1998/10/23 20:07:16 shane Exp $ */ #define IS_EXT_MODULE #if COMPILE_DL # if PHP_31 - # include "dl/phpdl.h" - # else # include "../phpdl.h # endif #endif #include "php.h" #include "internal_functions.h" #include "php3_xml.h" #if defined(THREAD_SAFE) && !PHP_31 #undef THREAD_SAFE --- 27,45 ---- +----------------------------------------------------------------------+ */ ! /* $Id: xml.c,v 1.8 1998/10/23 20:46:58 shane Exp $ */ #define IS_EXT_MODULE #if COMPILE_DL # if PHP_31 # include "../phpdl.h + # else + # include "dl/phpdl.h" # endif #endif #include "php.h" #include "internal_functions.h" #include "php3_xml.h" + #include "functions/php3_mod_callbacks.h" #if defined(THREAD_SAFE) && !PHP_31 #undef THREAD_SAFE *************** *** 47,53 **** #if HAVE_LIBEXPAT # include "php3_list.h" ! # include "build-defs.h" # include "snprintf.h" # include "head.h" # include "php3_string.h" --- 48,56 ---- #if HAVE_LIBEXPAT # include "php3_list.h" ! # if !(WIN32|WINNT) ! # include "build-defs.h" ! # endif # include "snprintf.h" # include "head.h" # include "php3_string.h" *************** *** 352,369 **** if (parser && funcName) { pval *retval, *func; int i; func = php3i_stringpval(funcName); retval = emalloc(sizeof(pval)); ! if (call_user_function(&GLOBAL(function_table), NULL, func, retval, argc, argv) == FAILURE) { ! pval_destructor(retval); efree(retval); return NULL; } ! pval_destructor(func); efree(func); for (i = 0; i < argc; i++) { ! pval_destructor(argv[i]); efree(argv[i]); } return retval; --- 355,377 ---- if (parser && funcName) { pval *retval, *func; int i; + HashTable *function_table; func = php3i_stringpval(funcName); retval = emalloc(sizeof(pval)); ! /* We cannot call internal variables from a function module as ! it breaks any chance of compiling it as a module on windows. ! Instead, we create a callback function. */ ! function_table=php3i_get_function_table(); ! if (call_user_function(function_table, NULL, func, retval, argc, argv) == FAILURE) { ! php3tls_pval_destructor(retval); efree(retval); return NULL; } ! php3tls_pval_destructor(func); efree(func); for (i = 0; i < argc; i++) { ! php3tls_pval_destructor(argv[i]); efree(argv[i]); } return retval; *************** *** 493,499 **** attributes += 2; } if ((retval = xml_call_handler(parser, parser->startElementHandler, 3, args))) { ! pval_destructor(retval); efree(retval); } if (parser->case_folding) { --- 501,507 ---- attributes += 2; } if ((retval = xml_call_handler(parser, parser->startElementHandler, 3, args))) { ! php3tls_pval_destructor(retval); efree(retval); } if (parser->case_folding) { *************** *** 519,525 **** args[0] = php3i_longpval(parser->index); args[1] = php3i_stringpval(name); if ((retval = xml_call_handler(parser, parser->endElementHandler, 2, args))) { ! pval_destructor(retval); efree(retval); } if (parser->case_folding) { --- 527,533 ---- args[0] = php3i_longpval(parser->index); args[1] = php3i_stringpval(name); if ((retval = xml_call_handler(parser, parser->endElementHandler, 2, args))) { ! php3tls_pval_destructor(retval); efree(retval); } if (parser->case_folding) { *************** *** 542,548 **** args[0] = php3i_longpval(parser->index); args[1] = php3i_xmlcharpval(s, len); if ((retval = xml_call_handler(parser, parser->characterDataHandler, 2, args))) { ! pval_destructor(retval); efree(retval); } } --- 550,556 ---- args[0] = php3i_longpval(parser->index); args[1] = php3i_xmlcharpval(s, len); if ((retval = xml_call_handler(parser, parser->characterDataHandler, 2, args))) { ! php3tls_pval_destructor(retval); efree(retval); } } *************** *** 565,571 **** args[1] = php3i_xmlcharpval(target, 0); args[2] = php3i_xmlcharpval(data, 0); if ((retval = xml_call_handler(parser, parser->processingInstructionHandler, 3, args))) { ! pval_destructor(retval); efree(retval); } } --- 573,579 ---- args[1] = php3i_xmlcharpval(target, 0); args[2] = php3i_xmlcharpval(data, 0); if ((retval = xml_call_handler(parser, parser->processingInstructionHandler, 3, args))) { ! php3tls_pval_destructor(retval); efree(retval); } } *************** *** 585,591 **** args[0] = php3i_longpval(parser->index); args[1] = php3i_xmlcharpval(s, len); if ((retval = xml_call_handler(parser, parser->defaultHandler, 2, args))) { ! pval_destructor(retval); efree(retval); } } --- 593,599 ---- args[0] = php3i_longpval(parser->index); args[1] = php3i_xmlcharpval(s, len); if ((retval = xml_call_handler(parser, parser->defaultHandler, 2, args))) { ! php3tls_pval_destructor(retval); efree(retval); } } *************** *** 614,620 **** args[4] = php3i_xmlcharpval(publicId, 0); args[5] = php3i_xmlcharpval(notationName, 0); if ((retval = xml_call_handler(parser, parser->unparsedEntityDeclHandler, 6, args))) { ! pval_destructor(retval); efree(retval); } } --- 622,628 ---- args[4] = php3i_xmlcharpval(publicId, 0); args[5] = php3i_xmlcharpval(notationName, 0); if ((retval = xml_call_handler(parser, parser->unparsedEntityDeclHandler, 6, args))) { ! php3tls_pval_destructor(retval); efree(retval); } } *************** *** 642,648 **** args[3] = php3i_xmlcharpval(systemId, 0); args[4] = php3i_xmlcharpval(publicId, 0); if ((retval = xml_call_handler(parser, parser->notationDeclHandler, 5, args))) { ! pval_destructor(retval); efree(retval); } } --- 650,656 ---- args[3] = php3i_xmlcharpval(systemId, 0); args[4] = php3i_xmlcharpval(publicId, 0); if ((retval = xml_call_handler(parser, parser->notationDeclHandler, 5, args))) { ! php3tls_pval_destructor(retval); efree(retval); } } -- PHP Development Mailing List http://www.php.net/ To unsubscribe send an empty message to php-dev-unsubscribe@lists.php.net For help: php-dev-help@lists.php.net

« previous php.dev (#1993) next »