/* $Id$ */
+#define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
+
#include "pi3web_sapi.h"
#include "php.h"
#include "php_main.h"
#include "PiAPI.h"
#include "Pi3API.h"
-#define MAX_STATUS_LENGTH sizeof("xxxx LONGEST STATUS DESCRIPTION")
#define PI3WEB_SERVER_VAR_BUF_SIZE 1024
-#define PI3WEB_POST_DATA_BUF 1024
int IWasLoaded=0;
DWORD read_from_input=0;
DWORD total_read=0;
- if (SG(read_post_bytes) < lpCB->cbAvailable) {
+ if ((DWORD)SG(read_post_bytes) < lpCB->cbAvailable) {
read_from_buf = MIN(lpCB->cbAvailable-SG(read_post_bytes), count_bytes);
memcpy(buffer, lpCB->lpbData+SG(read_post_bytes), read_from_buf);
total_read += read_from_buf;
}
total_read += cbRead;
}
- SG(read_post_bytes) += total_read;
+
+ /* removed after re-testing POST with Pi3Web 2.0.2 */
+ /* SG(read_post_bytes) += total_read; */
return total_read;
}
sapi_pi3web_read_cookies, /* read Cookies */
sapi_pi3web_register_variables, /* register server variables */
NULL, /* Log message */
- NULL, /* Block interruptions */
- NULL, /* Unblock interruptions */
STANDARD_SAPI_MODULE_PROPERTIES
};
-DWORD PHP4_wrapper(LPCONTROL_BLOCK lpCB)
+MODULE_API DWORD PHP4_wrapper(LPCONTROL_BLOCK lpCB)
{
zend_file_handle file_handle = {0};
int iRet = PIAPI_COMPLETED;
return iRet;
}
-BOOL PHP4_startup() {
+MODULE_API BOOL PHP4_startup() {
tsrm_startup(1, 1, 0, NULL);
sapi_startup(&pi3web_sapi_module);
if (pi3web_sapi_module.startup) {
return IWasLoaded;
};
-BOOL PHP4_shutdown() {
+MODULE_API BOOL PHP4_shutdown() {
if (pi3web_sapi_module.shutdown) {
pi3web_sapi_module.shutdown(&pi3web_sapi_module);
};
#ifdef PHP_WIN32
# include <windows.h>
# include <httpext.h>
-# ifdef SAPI_EXPORTS
+# ifdef PHP4PI3WEB_EXPORTS
# define MODULE_API __declspec(dllexport)
# else
# define MODULE_API __declspec(dllimport)
} CONTROL_BLOCK, *LPCONTROL_BLOCK;
-DWORD PHP4_wrapper(LPCONTROL_BLOCK lpCB);
-BOOL PHP4_startup();
-BOOL PHP4_shutdown();
+MODULE_API DWORD PHP4_wrapper(LPCONTROL_BLOCK lpCB);
+MODULE_API BOOL PHP4_startup();
+MODULE_API BOOL PHP4_shutdown();
// the following type declaration is for the server side
typedef DWORD ( * PFN_WRAPPERFUNC )( CONTROL_BLOCK *pCB );