1
0
mirror of https://github.com/php/php-src.git synced 2026-04-11 10:03:18 +02:00

- Make the output globals accessible from the outside world

- Fix Win32 compilation
This commit is contained in:
Zeev Suraski
2000-06-24 13:27:34 +00:00
parent ee5e330bcf
commit d1a6a64675
6 changed files with 65 additions and 40 deletions

View File

@@ -37,29 +37,9 @@ static void php_ob_prepend(const char *text, uint text_length);
static inline void php_ob_send(void);
typedef struct {
int (*php_body_write)(const char *str, uint str_length); /* string output */
int (*php_header_write)(const char *str, uint str_length); /* unbuffer string output */
char *ob_buffer;
uint ob_size;
uint ob_block_size;
uint ob_text_length;
unsigned char implicit_flush;
char *output_start_filename;
int output_start_lineno;
} php_output_globals;
#ifdef ZTS
#define OLS_D php_output_globals *output_globals
#define OLS_C output_globals
#define OG(v) (output_globals->v)
#define OLS_FETCH() php_output_globals *output_globals = ts_resource(output_globals_id)
int output_globals_id;
#else
#define OLS_D void
#define OLS_C
#define OG(v) (output_globals.v)
#define OLS_FETCH()
php_output_globals output_globals;
#endif

View File

@@ -41,4 +41,32 @@ PHP_FUNCTION(ob_implicit_flush);
PHP_GINIT_FUNCTION(output);
typedef struct {
int (*php_body_write)(const char *str, uint str_length); /* string output */
int (*php_header_write)(const char *str, uint str_length); /* unbuffer string output */
char *ob_buffer;
uint ob_size;
uint ob_block_size;
uint ob_text_length;
unsigned char implicit_flush;
char *output_start_filename;
int output_start_lineno;
} php_output_globals;
#ifdef ZTS
#define OLS_D php_output_globals *output_globals
#define OLS_C output_globals
#define OG(v) (output_globals->v)
#define OLS_FETCH() php_output_globals *output_globals = ts_resource(output_globals_id)
ZEND_API extern int output_globals_id;
#else
#define OLS_D void
#define OLS_C
#define OG(v) (output_globals.v)
#define OLS_FETCH()
ZEND_API extern php_output_globals output_globals;
#endif
#endif /* _OUTPUT_BUFFER */