My only problem with this patch is that I don't like API's which pass 
around structs. I always find it cumbersome to have to create and fill the 
struct and then pass it.
Can you think of something similar without using structs?

Andi

At 01:44 PM 6/30/2002 +0200, Sascha Schumann wrote:
>     I think it is time for deprecating sapi_add_header* in favor
>     of a more general function, called sapi_header_op.
>
>     Let me quickly recapitulate the history.
>
>     The original function sapi_add_header added and sometimes
>     replaced HTTP headers and changed HTTP response codes at
>     will.  This was still a real black box.
>
>     Then I added a parameter "replace" which turned the black box
>     into something more deterministic.  The new function was
>     called sapi_add_header_ex to retain source code
>     compatibility.
>
>     The recent extension for specifying the HTTP response code
>     eliminated further black box symptoms, but at the cost of
>     changing an established API.
>
>     I therefore propose the addition of a saner sapi_header_op()
>     and the removal of the API breaking change from a week ago.
>     This will allow further extensions regarding parameters
>     without the burden of creating new APIs at the same time.
>
>     The appended patch also unbreaks the CGI SAPI which did not
>     generate status codes at all -- http_status_line was NULL all
>     the time.
>
>
>typedef struct {
>     char *line; /* If you allocated this, you need to free it yourself */
>     uint line_len;
>     long response_code; /* long due to zend_parse_parameters compatibility */
>} sapi_header_line;
>
>typedef enum {                  /* Parameter:           */
>     SAPI_HEADER_REPLACE,        /* sapi_header_line*    */
>     SAPI_HEADER_ADD,            /* sapi_header_line*    */
>     SAPI_HEADER_SET_STATUS      /* int                  */
>} sapi_header_op_enum;
>
>SAPI_API int sapi_header_op(sapi_header_op_enum op, void *arg TSRMLS_DC);
>
>
>     - Sascha
>
>--
>PHP Development Mailing List <http://www.php.net/>
>To unsubscribe, visit: http://www.php.net/unsub.php


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to