@@ -4442,9 +4442,9 @@ lxb_url_api_hash_set(lxb_url_t *url, lxb_url_parser_t *parser,
44424442    return  status ;
44434443}
44444444
4445- lxb_status_t 
4446- lxb_url_serialize ( const  lxb_url_t  * url , lexbor_serialize_cb_f  cb ,  void   * ctx ,
4447-                   bool  exclude_fragment )
4445+ static   lxb_status_t 
4446+ lxb_url_serialize_body ( lxb_unicode_idna_t   * idna ,  const  lxb_url_t  * url , lexbor_serialize_cb_f  cb ,
4447+                       void   * ctx ,  bool  exclude_fragment )
44484448{
44494449    lxb_status_t  status ;
44504450    const  lexbor_str_t  * str ;
@@ -4484,7 +4484,12 @@ lxb_url_serialize(const lxb_url_t *url, lexbor_serialize_cb_f cb, void *ctx,
44844484            lexbor_serialize_write (cb , at_str .data , at_str .length , ctx , status );
44854485        }
44864486
4487-         status  =  lxb_url_serialize_host (& url -> host , cb , ctx );
4487+         if  (idna  !=  NULL ) {
4488+             status  =  lxb_url_serialize_host_unicode (idna , & url -> host , cb , ctx );
4489+         } else  {
4490+             status  =  lxb_url_serialize_host (& url -> host , cb , ctx );
4491+         }
4492+ 
44884493        if  (status  !=  LXB_STATUS_OK ) {
44894494            return  status ;
44904495        }
@@ -4529,6 +4534,20 @@ lxb_url_serialize(const lxb_url_t *url, lexbor_serialize_cb_f cb, void *ctx,
45294534    return  LXB_STATUS_OK ;
45304535}
45314536
4537+ lxb_status_t 
4538+ lxb_url_serialize (const  lxb_url_t  * url , lexbor_serialize_cb_f  cb , void  * ctx ,
4539+                   bool  exclude_fragment )
4540+ {
4541+     return  lxb_url_serialize_body (NULL , url , cb , ctx , exclude_fragment );
4542+ }
4543+ 
4544+ lxb_status_t 
4545+ lxb_url_serialize_idna (lxb_unicode_idna_t  * idna , const  lxb_url_t  * url , lexbor_serialize_cb_f  cb ,
4546+                        void  * ctx , bool  exclude_fragment )
4547+ {
4548+     return  lxb_url_serialize_body (idna , url , cb , ctx , exclude_fragment );
4549+ }
4550+ 
45324551lxb_status_t 
45334552lxb_url_serialize_scheme (const  lxb_url_t  * url ,
45344553                         lexbor_serialize_cb_f  cb , void  * ctx )
0 commit comments