Add sapi_add_header_ex, which lets you specify whether you want

to add or replace a header.
This commit is contained in:
Sascha Schumann 2000-10-26 18:18:21 +00:00
parent 52e45f514b
commit 2b060b3bf3
2 changed files with 6 additions and 2 deletions

View File

@ -356,7 +356,7 @@ static int sapi_extract_response_code(const char *header_line)
/* This function expects a *duplicated* string, that was previously emalloc()'d.
* Pointers sent to this functions will be automatically freed by the framework.
*/
SAPI_API int sapi_add_header(char *header_line, uint header_line_len, zend_bool duplicate)
SAPI_API int sapi_add_header_ex(char *header_line, uint header_line_len, zend_bool duplicate, zend_bool replace)
{
int retval, free_header = 0;
sapi_header_struct sapi_header;
@ -390,6 +390,7 @@ SAPI_API int sapi_add_header(char *header_line, uint header_line_len, zend_bool
sapi_header.header = header_line;
sapi_header.header_len = header_line_len;
sapi_header.replace = replace;
/* Check the header for a few cases that we have special support for in SAPI */
if (header_line_len>=5

View File

@ -41,6 +41,7 @@
typedef struct {
char *header;
uint header_len;
zend_bool replace;
} sapi_header_struct;
@ -130,7 +131,9 @@ SAPI_API void sapi_activate(SLS_D);
SAPI_API void sapi_deactivate(SLS_D);
SAPI_API void sapi_initialize_empty_request(SLS_D);
SAPI_API int sapi_add_header(char *header_line, uint header_line_len, zend_bool duplicate);
SAPI_API int sapi_add_header_ex(char *header_line, uint header_line_len, zend_bool duplicate, zend_bool replace);
#define sapi_add_header(header_line, header_line_len, duplicate) \
sapi_add_header_ex((header_line), (header_line_len), (duplicate), 1)
SAPI_API int sapi_send_headers(void);
SAPI_API void sapi_free_header(sapi_header_struct *sapi_header);
SAPI_API void sapi_handle_post(void *arg SLS_DC);