@@ -537,15 +537,20 @@ static zend_always_inline size_t php_url_encode_impl(unsigned char *to, const ch
537
537
}
538
538
/* }}} */
539
539
540
- /* {{{ php_url_encode */
541
- PHPAPI zend_string * php_url_encode (char const * s , size_t len )
540
+ static zend_always_inline zend_string * php_url_encode_helper (char const * s , size_t len , bool raw )
542
541
{
543
542
zend_string * result = zend_string_safe_alloc (3 , len , 0 , false);
544
- size_t length = php_url_encode_impl ((unsigned char * ) ZSTR_VAL (result ), s , len , false );
543
+ size_t length = php_url_encode_impl ((unsigned char * ) ZSTR_VAL (result ), s , len , raw );
545
544
ZSTR_VAL (result )[length ] = '\0' ;
546
545
ZEND_ASSERT (!ZSTR_IS_INTERNED (result ) && GC_REFCOUNT (result ) == 1 );
547
546
return zend_string_truncate (result , length , false);
548
547
}
548
+
549
+ /* {{{ php_url_encode */
550
+ PHPAPI zend_string * php_url_encode (char const * s , size_t len )
551
+ {
552
+ return php_url_encode_helper (s , len , false);
553
+ }
549
554
/* }}} */
550
555
551
556
/* {{{ URL-encodes string */
@@ -606,11 +611,7 @@ PHPAPI size_t php_url_decode(char *str, size_t len)
606
611
/* {{{ php_raw_url_encode */
607
612
PHPAPI zend_string * php_raw_url_encode (char const * s , size_t len )
608
613
{
609
- zend_string * result = zend_string_safe_alloc (3 , len , 0 , false);
610
- size_t length = php_url_encode_impl ((unsigned char * ) ZSTR_VAL (result ), s , len , true);
611
- ZSTR_VAL (result )[length ] = '\0' ;
612
- ZEND_ASSERT (!ZSTR_IS_INTERNED (result ) && GC_REFCOUNT (result ) == 1 );
613
- return zend_string_truncate (result , length , false);
614
+ return php_url_encode_helper (s , len , true);
614
615
}
615
616
/* }}} */
616
617
0 commit comments