📄 php4activescript.c
字号:
/* +----------------------------------------------------------------------+ | PHP Version 4 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2007 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 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_01.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. | +----------------------------------------------------------------------+ | Authors: Wez Furlong <wez@thebrainroom.com> | +----------------------------------------------------------------------+ *//* $Id: php4activescript.c,v 1.2.2.1.8.2 2007/01/01 09:46:51 sebastian Exp $ */#include "php.h"#include "php_main.h"#include "SAPI.h"#include "php_globals.h"#include "ext/standard/info.h"#include "php_variables.h"#include "php_ini.h"#include "php4activescript.h"/* SAPI definitions and DllMain */static int php_activescript_startup(sapi_module_struct *sapi_module){ if (php_module_startup(sapi_module, &php_activescript_module, 1) == FAILURE) { return FAILURE; } else { return SUCCESS; }}static int sapi_activescript_ub_write(const char *str, uint str_length TSRMLS_DC){ /* In theory, this is a blackhole. In practice, I wan't to see the output * in the debugger! */ char buf[1024]; uint l, a = str_length; while(a) { l = a; if (l > sizeof(buf) - 1) l = sizeof(buf) - 1; memcpy(buf, str, l); buf[l] = 0; OutputDebugString(buf); a -= l; } return str_length;}static void sapi_activescript_register_server_variables(zval *track_vars_array TSRMLS_DC){}static char *sapi_activescript_read_cookies(TSRMLS_D){ return NULL;}static int sapi_activescript_header_handler(sapi_header_struct *sapi_header, sapi_headers_struct *sapi_headers TSRMLS_DC){ return SAPI_HEADER_ADD;}static int sapi_activescript_send_headers(sapi_headers_struct *sapi_headers TSRMLS_DC){ return SAPI_HEADER_SENT_SUCCESSFULLY;}zend_module_entry php_activescript_module = { STANDARD_MODULE_HEADER, "ActiveScript", NULL, NULL, NULL, NULL, NULL, NULL, NULL, STANDARD_MODULE_PROPERTIES};sapi_module_struct activescript_sapi_module = { "activescript", /* name */ "Active Script", /* pretty name */ php_activescript_startup, /* startup */ php_module_shutdown_wrapper, /* shutdown */ NULL, /* activate */ NULL, /* deactivate */ sapi_activescript_ub_write, /* unbuffered write */ NULL, /* flush */ NULL, /* get uid */ NULL, /* getenv */ zend_error, /* error handler */ sapi_activescript_header_handler, /* header handler */ sapi_activescript_send_headers, /* send headers handler */ NULL, /* send header handler */ NULL, /* read POST data */ sapi_activescript_read_cookies, /* read Cookies */ sapi_activescript_register_server_variables, /* register server variables */ NULL, /* Log message */ NULL, /* Block interruptions */ NULL, /* Unblock interruptions */ STANDARD_SAPI_MODULE_PROPERTIES};BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved){ switch (fdwReason) { case DLL_PROCESS_ATTACH: module_handle = hinstDLL; tsrm_startup(128, 1, TSRM_ERROR_LEVEL_CORE, "C:\\TSRM.log"); sapi_startup(&activescript_sapi_module); if (activescript_sapi_module.startup) { activescript_sapi_module.startup(&sapi_module); } break; case DLL_THREAD_ATTACH: break; case DLL_THREAD_DETACH: ts_free_thread(); break; case DLL_PROCESS_DETACH: if (activescript_sapi_module.shutdown) { activescript_sapi_module.shutdown(&sapi_module); } tsrm_shutdown(); break; } return TRUE;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -