@@ -45,14 +45,14 @@ static void tag_dtor(zval *zv)
4545 free (Z_PTR_P (zv));
4646}
4747
48- static int php_ini_on_update_tags (zend_ini_entry *entry, zend_string *new_value, void *mh_arg1, void *mh_arg2, void *mh_arg3, int stage, int type )
48+ static zend_result php_ini_on_update_tags (zend_ini_entry *entry, zend_string *new_value, void *mh_arg1, void *mh_arg2, void *mh_arg3, int stage, bool is_session )
4949{
5050 url_adapt_state_ex_t *ctx;
5151 char *key;
5252 char *tmp;
5353 char *lasts = NULL ;
5454
55- if (type ) {
55+ if (is_session ) {
5656 ctx = &BG (url_adapt_session_ex);
5757 } else {
5858 ctx = &BG (url_adapt_output_ex);
@@ -102,22 +102,22 @@ static int php_ini_on_update_tags(zend_ini_entry *entry, zend_string *new_value,
102102
103103static PHP_INI_MH (OnUpdateSessionTags)
104104{
105- return php_ini_on_update_tags (entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage, 1 );
105+ return php_ini_on_update_tags (entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage, /* is_session */ true );
106106}
107107
108108static PHP_INI_MH (OnUpdateOutputTags)
109109{
110- return php_ini_on_update_tags (entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage, 0 );
110+ return php_ini_on_update_tags (entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage, /* is_session */ false );
111111}
112112
113- static int php_ini_on_update_hosts (zend_ini_entry *entry, zend_string *new_value, void *mh_arg1, void *mh_arg2, void *mh_arg3, int stage, int type )
113+ static zend_result php_ini_on_update_hosts (zend_ini_entry *entry, zend_string *new_value, void *mh_arg1, void *mh_arg2, void *mh_arg3, int stage, bool is_session )
114114{
115115 HashTable *hosts;
116116 char *key;
117117 char *tmp;
118118 char *lasts = NULL ;
119119
120- if (type ) {
120+ if (is_session ) {
121121 hosts = &BG (url_adapt_session_hosts_ht);
122122 } else {
123123 hosts = &BG (url_adapt_output_hosts_ht);
@@ -152,12 +152,12 @@ static int php_ini_on_update_hosts(zend_ini_entry *entry, zend_string *new_value
152152
153153static PHP_INI_MH (OnUpdateSessionHosts)
154154{
155- return php_ini_on_update_hosts (entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage, 1 );
155+ return php_ini_on_update_hosts (entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage, /* is_session */ true );
156156}
157157
158158static PHP_INI_MH (OnUpdateOutputHosts)
159159{
160- return php_ini_on_update_hosts (entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage, 0 );
160+ return php_ini_on_update_hosts (entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage, /* is_session */ false );
161161}
162162
163163/* FIXME: OnUpdate*Hosts cannot set default to $_SERVER['HTTP_HOST'] at startup */
@@ -349,7 +349,7 @@ static inline void passthru(STD_PARA)
349349}
350350
351351
352- static int check_http_host (char *target)
352+ static zend_result check_http_host (char *target)
353353{
354354 zval *host, *tmp;
355355 zend_string *host_tmp;
@@ -375,7 +375,7 @@ static int check_http_host(char *target)
375375 return FAILURE;
376376}
377377
378- static int check_host_whitelist (url_adapt_state_ex_t *ctx)
378+ static zend_result check_host_whitelist (url_adapt_state_ex_t *ctx)
379379{
380380 php_url *url_parts = NULL ;
381381 HashTable *allowed_hosts = ctx->type ? &BG (url_adapt_session_hosts_ht) : &BG (url_adapt_output_hosts_ht);
@@ -583,7 +583,7 @@ stop:
583583}
584584
585585
586- PHPAPI char *php_url_scanner_adapt_single_url (const char *url, size_t urllen, const char *name, const char *value, size_t *newlen, int encode)
586+ PHPAPI char *php_url_scanner_adapt_single_url (const char *url, size_t urllen, const char *name, const char *value, size_t *newlen, bool encode)
587587{
588588 char *result;
589589 smart_str surl = {0 };
@@ -647,26 +647,24 @@ static char *url_adapt_ext(const char *src, size_t srclen, size_t *newlen, bool
647647 return retval;
648648}
649649
650- static int php_url_scanner_ex_activate (int type )
650+ static void php_url_scanner_ex_activate (bool is_session )
651651{
652652 url_adapt_state_ex_t *ctx;
653653
654- if (type ) {
654+ if (is_session ) {
655655 ctx = &BG (url_adapt_session_ex);
656656 } else {
657657 ctx = &BG (url_adapt_output_ex);
658658 }
659659
660660 memset (ctx, 0 , XtOffsetOf (url_adapt_state_ex_t , tags));
661-
662- return SUCCESS;
663661}
664662
665- static int php_url_scanner_ex_deactivate (int type )
663+ static void php_url_scanner_ex_deactivate (bool is_session )
666664{
667665 url_adapt_state_ex_t *ctx;
668666
669- if (type ) {
667+ if (is_session ) {
670668 ctx = &BG (url_adapt_session_ex);
671669 } else {
672670 ctx = &BG (url_adapt_output_ex);
@@ -677,16 +675,14 @@ static int php_url_scanner_ex_deactivate(int type)
677675 smart_str_free (&ctx->tag );
678676 smart_str_free (&ctx->arg );
679677 smart_str_free (&ctx->attr_val );
680-
681- return SUCCESS;
682678}
683679
684- static inline void php_url_scanner_session_handler_impl (char *output, size_t output_len, char **handled_output, size_t *handled_output_len, int mode, int type )
680+ static inline void php_url_scanner_session_handler_impl (char *output, size_t output_len, char **handled_output, size_t *handled_output_len, int mode, bool is_session )
685681{
686682 size_t len;
687683 url_adapt_state_ex_t *url_state;
688684
689- if (type ) {
685+ if (is_session ) {
690686 url_state = &BG (url_adapt_session_ex);
691687 } else {
692688 url_state = &BG (url_adapt_output_ex);
@@ -720,15 +716,15 @@ static inline void php_url_scanner_session_handler_impl(char *output, size_t out
720716
721717static void php_url_scanner_session_handler (char *output, size_t output_len, char **handled_output, size_t *handled_output_len, int mode)
722718{
723- php_url_scanner_session_handler_impl (output, output_len, handled_output, handled_output_len, mode, 1 );
719+ php_url_scanner_session_handler_impl (output, output_len, handled_output, handled_output_len, mode, /* is_session */ true );
724720}
725721
726722static void php_url_scanner_output_handler (char *output, size_t output_len, char **handled_output, size_t *handled_output_len, int mode)
727723{
728- php_url_scanner_session_handler_impl (output, output_len, handled_output, handled_output_len, mode, 0 );
724+ php_url_scanner_session_handler_impl (output, output_len, handled_output, handled_output_len, mode, /* is_session */ false );
729725}
730726
731- static inline int php_url_scanner_add_var_impl (const char *name, size_t name_len, const char *value, size_t value_len, int encode, int type )
727+ static inline void php_url_scanner_add_var_impl (const char *name, size_t name_len, const char *value, size_t value_len, bool encode, bool is_session )
732728{
733729 smart_str sname = {0 };
734730 smart_str svalue = {0 };
@@ -739,7 +735,7 @@ static inline int php_url_scanner_add_var_impl(const char *name, size_t name_len
739735 php_output_handler_func_t handler;
740736 bool should_start = false ;
741737
742- if (type ) {
738+ if (is_session ) {
743739 url_state = &BG (url_adapt_session_ex);
744740 handler = php_url_scanner_session_handler;
745741 } else {
@@ -748,10 +744,10 @@ static inline int php_url_scanner_add_var_impl(const char *name, size_t name_len
748744 }
749745
750746 if (!url_state->active ) {
751- php_url_scanner_ex_activate (type );
747+ php_url_scanner_ex_activate (is_session );
752748 should_start = true ;
753749 url_state->active = 1 ;
754- url_state->type = type ;
750+ url_state->type = is_session ;
755751 }
756752
757753 if (url_state->url_app .s && ZSTR_LEN (url_state->url_app .s ) != 0 ) {
@@ -792,27 +788,27 @@ static inline int php_url_scanner_add_var_impl(const char *name, size_t name_len
792788 if (should_start) {
793789 php_output_start_internal (ZEND_STRL (" URL-Rewriter" ), handler, 0 , PHP_OUTPUT_HANDLER_STDFLAGS);
794790 }
795-
796- return SUCCESS;
797791}
798792
799793
800- PHPAPI int php_url_scanner_add_session_var (const char *name, size_t name_len, const char *value, size_t value_len, int encode)
794+ PHPAPI zend_result php_url_scanner_add_session_var (const char *name, size_t name_len, const char *value, size_t value_len, bool encode)
801795{
802- return php_url_scanner_add_var_impl (name, name_len, value, value_len, encode, 1 );
796+ php_url_scanner_add_var_impl (name, name_len, value, value_len, encode, /* is_session */ true );
797+ return SUCCESS;
803798}
804799
805800
806- PHPAPI int php_url_scanner_add_var (const char *name, size_t name_len, const char *value, size_t value_len, int encode)
801+ PHPAPI zend_result php_url_scanner_add_var (const char *name, size_t name_len, const char *value, size_t value_len, bool encode)
807802{
808- return php_url_scanner_add_var_impl (name, name_len, value, value_len, encode, 0 );
803+ php_url_scanner_add_var_impl (name, name_len, value, value_len, encode, /* is_session */ false );
804+ return SUCCESS;
809805}
810806
811807
812- static inline void php_url_scanner_reset_vars_impl (int type ) {
808+ static inline void php_url_scanner_reset_vars_impl (bool is_session ) {
813809 url_adapt_state_ex_t *url_state;
814810
815- if (type ) {
811+ if (is_session ) {
816812 url_state = &BG (url_adapt_session_ex);
817813 } else {
818814 url_state = &BG (url_adapt_output_ex);
@@ -827,21 +823,21 @@ static inline void php_url_scanner_reset_vars_impl(int type) {
827823}
828824
829825
830- PHPAPI int php_url_scanner_reset_session_vars (void )
826+ PHPAPI zend_result php_url_scanner_reset_session_vars (void )
831827{
832- php_url_scanner_reset_vars_impl (1 );
828+ php_url_scanner_reset_vars_impl (true );
833829 return SUCCESS;
834830}
835831
836832
837- PHPAPI int php_url_scanner_reset_vars (void )
833+ PHPAPI zend_result php_url_scanner_reset_vars (void )
838834{
839- php_url_scanner_reset_vars_impl (0 );
835+ php_url_scanner_reset_vars_impl (false );
840836 return SUCCESS;
841837}
842838
843839
844- static inline int php_url_scanner_reset_var_impl (zend_string *name, int encode, int type )
840+ static inline zend_result php_url_scanner_reset_var_impl (zend_string *name, int encode, bool is_session )
845841{
846842 char *start, *end, *limit;
847843 size_t separator_len;
@@ -854,7 +850,7 @@ static inline int php_url_scanner_reset_var_impl(zend_string *name, int encode,
854850 bool sep_removed = 0 ;
855851 url_adapt_state_ex_t *url_state;
856852
857- if (type ) {
853+ if (is_session ) {
858854 url_state = &BG (url_adapt_session_ex);
859855 } else {
860856 url_state = &BG (url_adapt_output_ex);
@@ -911,7 +907,7 @@ static inline int php_url_scanner_reset_var_impl(zend_string *name, int encode,
911907 }
912908 /* Remove all when this is the only rewrite var */
913909 if (ZSTR_LEN (url_state->url_app .s ) == end - start) {
914- php_url_scanner_reset_vars_impl (type );
910+ php_url_scanner_reset_vars_impl (is_session );
915911 goto finish;
916912 }
917913 /* Check preceding separator */
@@ -933,7 +929,7 @@ static inline int php_url_scanner_reset_var_impl(zend_string *name, int encode,
933929 if (!start) {
934930 /* Should not happen */
935931 ret = FAILURE;
936- php_url_scanner_reset_vars_impl (type );
932+ php_url_scanner_reset_vars_impl (is_session );
937933 goto finish;
938934 }
939935 /* Get end of form var */
@@ -961,15 +957,15 @@ finish:
961957}
962958
963959
964- PHPAPI int php_url_scanner_reset_session_var (zend_string *name, int encode)
960+ PHPAPI zend_result php_url_scanner_reset_session_var (zend_string *name, int encode)
965961{
966- return php_url_scanner_reset_var_impl (name, encode, 1 );
962+ return php_url_scanner_reset_var_impl (name, encode, /* is_session */ true );
967963}
968964
969965
970- PHPAPI int php_url_scanner_reset_var (zend_string *name, int encode)
966+ PHPAPI zend_result php_url_scanner_reset_var (zend_string *name, int encode)
971967{
972- return php_url_scanner_reset_var_impl (name, encode, 0 );
968+ return php_url_scanner_reset_var_impl (name, encode, /* is_session */ false );
973969}
974970
975971
@@ -1000,7 +996,7 @@ PHP_RINIT_FUNCTION(url_scanner)
1000996PHP_RSHUTDOWN_FUNCTION (url_scanner)
1001997{
1002998 if (BG (url_adapt_session_ex).active ) {
1003- php_url_scanner_ex_deactivate (1 );
999+ php_url_scanner_ex_deactivate (true );
10041000 BG (url_adapt_session_ex).active = 0 ;
10051001 BG (url_adapt_session_ex).tag_type = 0 ;
10061002 BG (url_adapt_session_ex).attr_type = 0 ;
@@ -1009,7 +1005,7 @@ PHP_RSHUTDOWN_FUNCTION(url_scanner)
10091005 smart_str_free (&BG (url_adapt_session_ex).url_app );
10101006
10111007 if (BG (url_adapt_output_ex).active ) {
1012- php_url_scanner_ex_deactivate (0 );
1008+ php_url_scanner_ex_deactivate (false );
10131009 BG (url_adapt_output_ex).active = 0 ;
10141010 BG (url_adapt_output_ex).tag_type = 0 ;
10151011 BG (url_adapt_output_ex).attr_type = 0 ;
0 commit comments