@@ -33,18 +33,18 @@ static h2o_buffer_t *build_dir_listing_html(h2o_mem_pool_t *pool, h2o_iovec_t pa
33
33
34
34
h2o_buffer_init (& _ , & h2o_socket_buffer_prototype );
35
35
36
- { h2o_iovec_t _s = (h2o_iovec_init (H2O_STRLIT ("<!DOCTYPE html>\n" ))); if (_s .len != 0 && _s .base [_s .len - 1 ] == '\n' ) -- _s .len ; h2o_buffer_reserve (& _ , _s .len ); memcpy (_ -> bytes + _ -> size , _s .base , _s .len ); _ -> size += _s .len ; }
37
- { h2o_iovec_t _s = (h2o_iovec_init ( H2O_STRLIT ( "<TITLE>Index of " ))); if ( _s . len != 0 && _s . base [ _s . len - 1 ] == '\n' ) -- _s . len ; h2o_buffer_reserve ( & _ , _s . len ); memcpy ( _ -> bytes + _ -> size , _s . base , _s . len ); _ -> size += _s . len ; } { h2o_iovec_t _s = ( path_normalized_escaped ); if (_s .len != 0 && _s .base [_s .len - 1 ] == '\n' ) -- _s .len ; h2o_buffer_reserve (& _ , _s .len ); memcpy (_ -> bytes + _ -> size , _s .base , _s .len ); _ -> size += _s .len ; } { h2o_iovec_t _s = (h2o_iovec_init (H2O_STRLIT ("</TITLE>\n" ))); if (_s .len != 0 && _s .base [_s .len - 1 ] == '\n' ) -- _s .len ; h2o_buffer_reserve (& _ , _s .len ); memcpy (_ -> bytes + _ -> size , _s .base , _s .len ); _ -> size += _s .len ; }
38
- { h2o_iovec_t _s = (h2o_iovec_init ( H2O_STRLIT ( "<H2>Index of " ))) ; if (_s .len != 0 && _s .base [_s .len - 1 ] == '\n' ) -- _s .len ; h2o_buffer_reserve (& _ , _s .len ); memcpy (_ -> bytes + _ -> size , _s .base , _s .len ); _ -> size += _s .len ; } { h2o_iovec_t _s = (path_normalized_escaped ); if ( _s . len != 0 && _s . base [ _s . len - 1 ] == '\n' ) -- _s . len ; h2o_buffer_reserve ( & _ , _s . len ); memcpy ( _ -> bytes + _ -> size , _s . base , _s . len ); _ -> size += _s . len ; } { h2o_iovec_t _s = ( h2o_iovec_init ( H2O_STRLIT ( "</H2 >\n" ))); if (_s .len != 0 && _s .base [_s .len - 1 ] == '\n' ) -- _s .len ; h2o_buffer_reserve (& _ , _s .len ); memcpy (_ -> bytes + _ -> size , _s .base , _s .len ); _ -> size += _s .len ; }
39
- { h2o_iovec_t _s = ( h2o_iovec_init ( H2O_STRLIT ( "<UL>\n" ))); if ( _s . len != 0 && _s . base [ _s . len - 1 ] == '\n' ) -- _s . len ; h2o_buffer_reserve ( & _ , _s . len ); memcpy ( _ -> bytes + _ -> size , _s . base , _s . len ); _ -> size += _s . len ; }
40
- { h2o_iovec_t _s = ( h2o_iovec_init ( H2O_STRLIT ( "<LI><A HREF=\"..\">Parent Directory</A>\n" ))); if ( _s . len != 0 && _s . base [ _s . len - 1 ] == '\n' ) -- _s . len ; h2o_buffer_reserve ( & _ , _s . len ); memcpy ( _ -> bytes + _ -> size , _s . base , _s . len ); _ -> size += _s . len ; }
36
+ { h2o_iovec_t _s = (h2o_iovec_init (H2O_STRLIT ("<!DOCTYPE html>\n<TITLE>Index of " ))); if (_s .len != 0 && _s .base [_s .len - 1 ] == '\n' ) -- _s .len ; h2o_buffer_reserve (& _ , _s .len ); memcpy (_ -> bytes + _ -> size , _s .base , _s .len ); _ -> size += _s .len ; }
37
+ { h2o_iovec_t _s = (path_normalized_escaped ); if (_s .len != 0 && _s .base [_s .len - 1 ] == '\n' ) -- _s .len ; h2o_buffer_reserve (& _ , _s .len ); memcpy (_ -> bytes + _ -> size , _s .base , _s .len ); _ -> size += _s .len ; }{ h2o_iovec_t _s = (h2o_iovec_init (H2O_STRLIT ("</TITLE>\n<H2>Index of " ))); if (_s .len != 0 && _s .base [_s .len - 1 ] == '\n' ) -- _s .len ; h2o_buffer_reserve (& _ , _s .len ); memcpy (_ -> bytes + _ -> size , _s .base , _s .len ); _ -> size += _s .len ; }
38
+ { h2o_iovec_t _s = (path_normalized_escaped ) ; if (_s .len != 0 && _s .base [_s .len - 1 ] == '\n' ) -- _s .len ; h2o_buffer_reserve (& _ , _s .len ); memcpy (_ -> bytes + _ -> size , _s .base , _s .len ); _ -> size += _s .len ; }{ h2o_iovec_t _s = (h2o_iovec_init ( H2O_STRLIT ( "</H2>\n<UL>\n<LI><A HREF=\"..\">Parent Directory</A >\n" ))); if (_s .len != 0 && _s .base [_s .len - 1 ] == '\n' ) -- _s .len ; h2o_buffer_reserve (& _ , _s .len ); memcpy (_ -> bytes + _ -> size , _s .base , _s .len ); _ -> size += _s .len ; }
39
+
40
+
41
41
42
42
while ((ret = readdir_r (dp , & dent , & dentp )) == 0 && dentp != NULL ) {
43
43
h2o_iovec_t fn_escaped ;
44
44
if (strcmp (dent .d_name , "." ) == 0 || strcmp (dent .d_name , ".." ) == 0 )
45
45
continue ;
46
46
fn_escaped = h2o_htmlescape (pool , dent .d_name , strlen (dent .d_name ));
47
- { h2o_iovec_t _s = (h2o_iovec_init (H2O_STRLIT ("<LI><A HREF=\"" ))); if (_s .len != 0 && _s .base [_s .len - 1 ] == '\n' ) -- _s .len ; h2o_buffer_reserve (& _ , _s .len ); memcpy (_ -> bytes + _ -> size , _s .base , _s .len ); _ -> size += _s .len ; } { h2o_iovec_t _s = (fn_escaped ); if (_s .len != 0 && _s .base [_s .len - 1 ] == '\n' ) -- _s .len ; h2o_buffer_reserve (& _ , _s .len ); memcpy (_ -> bytes + _ -> size , _s .base , _s .len ); _ -> size += _s .len ; } { h2o_iovec_t _s = (h2o_iovec_init (H2O_STRLIT ("\">" ))); if (_s .len != 0 && _s .base [_s .len - 1 ] == '\n' ) -- _s .len ; h2o_buffer_reserve (& _ , _s .len ); memcpy (_ -> bytes + _ -> size , _s .base , _s .len ); _ -> size += _s .len ; } { h2o_iovec_t _s = (fn_escaped ); if (_s .len != 0 && _s .base [_s .len - 1 ] == '\n' ) -- _s .len ; h2o_buffer_reserve (& _ , _s .len ); memcpy (_ -> bytes + _ -> size , _s .base , _s .len ); _ -> size += _s .len ; } { h2o_iovec_t _s = (h2o_iovec_init (H2O_STRLIT ("</A>\n" ))); if (_s .len != 0 && _s .base [_s .len - 1 ] == '\n' ) -- _s .len ; h2o_buffer_reserve (& _ , _s .len ); memcpy (_ -> bytes + _ -> size , _s .base , _s .len ); _ -> size += _s .len ; }
47
+ { h2o_iovec_t _s = (h2o_iovec_init (H2O_STRLIT ("<LI><A HREF=\"" ))); if (_s .len != 0 && _s .base [_s .len - 1 ] == '\n' ) -- _s .len ; h2o_buffer_reserve (& _ , _s .len ); memcpy (_ -> bytes + _ -> size , _s .base , _s .len ); _ -> size += _s .len ; }{ h2o_iovec_t _s = (fn_escaped ); if (_s .len != 0 && _s .base [_s .len - 1 ] == '\n' ) -- _s .len ; h2o_buffer_reserve (& _ , _s .len ); memcpy (_ -> bytes + _ -> size , _s .base , _s .len ); _ -> size += _s .len ; }{ h2o_iovec_t _s = (h2o_iovec_init (H2O_STRLIT ("\">" ))); if (_s .len != 0 && _s .base [_s .len - 1 ] == '\n' ) -- _s .len ; h2o_buffer_reserve (& _ , _s .len ); memcpy (_ -> bytes + _ -> size , _s .base , _s .len ); _ -> size += _s .len ; }{ h2o_iovec_t _s = (fn_escaped ); if (_s .len != 0 && _s .base [_s .len - 1 ] == '\n' ) -- _s .len ; h2o_buffer_reserve (& _ , _s .len ); memcpy (_ -> bytes + _ -> size , _s .base , _s .len ); _ -> size += _s .len ; }{ h2o_iovec_t _s = (h2o_iovec_init (H2O_STRLIT ("</A>\n" ))); if (_s .len != 0 && _s .base [_s .len - 1 ] == '\n' ) -- _s .len ; h2o_buffer_reserve (& _ , _s .len ); memcpy (_ -> bytes + _ -> size , _s .base , _s .len ); _ -> size += _s .len ; }
48
48
}
49
49
50
50
return _ ;
0 commit comments