func: char *svn_dirent_join_many(apr_pool_t *pool,const char *base,... ) apr_size_t saved_lengths [ 10 ] ; apr_size_t total_len ; int nargs ; const char * s ; apr_size_t len ; char * dirent ; char * p ; int add_separator ; int base_arg = 0 ; total_len = strlen ( base ); add_separator = 1; if ( total_len == 0 || base [ total_len - 1 ] == 47 )  add_separator = 0; saved_lengths [ 0 ] = total_len; nargs = 0; while ( ( s = ( va_arg ( va , const char * ) ) ) != ( ( void * ) 0 ) ) len = strlen ( s ); if ( nargs ++ < 10 )  saved_lengths [ nargs ] = len; if ( dirent_is_rooted ( s ) )  static svn_boolean_t dirent_is_rooted(const char *dirent) if ( ! dirent )  return 0 ; if ( dirent [ 0 ] == 47 )  return ! 0 ; return 0 ; total_len = len; base_arg = nargs; base = ""; saved_lengths [ 0 ] = 0; add_separator = 1; if ( s [ len - 1 ] == 47 )  add_separator = 0; if ( nargs <= base_arg + 1 )  total_len += add_separator + len; total_len += 1 + len; if ( add_separator == 0 && total_len == 1 )  dirent = p = ( apr_palloc ( pool , total_len + 1 ) ); if ( ! ( base [ 0 ] == '\0' ) )  memcpy ( p , base , len = saved_lengths [ 0 ] ); p += len; nargs = 0; while ( ( s = ( va_arg ( va , const char * ) ) ) != ( ( void * ) 0 ) ) if ( nargs < 10 )  len = saved_lengths [ nargs ]; len = strlen ( s ); if ( p != dirent && ( ! ( nargs - 1 <= base_arg ) || add_separator ) )  * ( p ++ ) = 47; memcpy ( p , s , len ); p += len; * p = '\0'; ( ( apr_size_t ) ( p - dirent ) ) == total_len ? ( ( void ) 0 ) : __assert_fail ( "(apr_size_t)(p - dirent) == total_len" , "dirent_uri.c" , 1164 , __PRETTY_FUNCTION__ ); 