mirror of
https://github.com/Ponce/slackbuilds
synced 2024-12-01 01:00:03 +01:00
337 lines
13 KiB
Diff
337 lines
13 KiB
Diff
Index: /trunk/boost/filesystem/operations.hpp
|
|
===================================================================
|
|
--- /trunk/boost/filesystem/operations.hpp (revision 48192)
|
|
+++ /trunk/boost/filesystem/operations.hpp (revision 48377)
|
|
@@ -122,8 +122,4 @@
|
|
namespace detail
|
|
{
|
|
- // singular object used only as a tag; thus initialization and
|
|
- // thread-safety are not issues
|
|
- BOOST_FILESYSTEM_DECL extern system::error_code throws;
|
|
-
|
|
typedef std::pair< system::error_code, bool >
|
|
query_pair;
|
|
@@ -235,5 +231,8 @@
|
|
|
|
template<class Path>
|
|
- unsigned long remove_all_aux( const Path & ph );
|
|
+ bool remove_aux( const Path & ph, file_status f );
|
|
+
|
|
+ template<class Path>
|
|
+ unsigned long remove_all_aux( const Path & ph, file_status f );
|
|
|
|
} // namespace detail
|
|
@@ -475,17 +474,22 @@
|
|
}
|
|
|
|
- BOOST_FS_FUNC(void) remove( const Path & ph, system::error_code & ec = detail::throws )
|
|
- {
|
|
- system::error_code error( detail::remove_api(ph.external_file_string()) );
|
|
- if ( error && &ec == &detail::throws )
|
|
- boost::throw_exception( basic_filesystem_error<Path>(
|
|
- "boost::filesystem::remove", ph, error ) );
|
|
- ec = error;
|
|
+ BOOST_FS_FUNC(bool) remove( const Path & ph )
|
|
+ {
|
|
+ system::error_code ec;
|
|
+ file_status f = symlink_status( ph, ec );
|
|
+ if ( ec )
|
|
+ boost::throw_exception( basic_filesystem_error<Path>(
|
|
+ "boost::filesystem::remove", ph, ec ) );
|
|
+ return detail::remove_aux( ph, f );
|
|
}
|
|
|
|
BOOST_FS_FUNC(unsigned long) remove_all( const Path & ph )
|
|
{
|
|
- return exists( ph )|| is_symlink( ph )
|
|
- ? detail::remove_all_aux( ph ) : 0;
|
|
+ system::error_code ec;
|
|
+ file_status f = symlink_status( ph, ec );
|
|
+ if ( ec )
|
|
+ boost::throw_exception( basic_filesystem_error<Path>(
|
|
+ "boost::filesystem::remove_all", ph, ec ) );
|
|
+ return exists( f ) ? detail::remove_all_aux( ph, f ) : 0;
|
|
}
|
|
|
|
@@ -713,6 +717,8 @@
|
|
{ return create_symlink<wpath>( to_ph, from_ph, ec ); }
|
|
|
|
- inline void remove( const path & ph ) { remove<path>( ph ); }
|
|
- inline void remove( const wpath & ph ) { remove<wpath>( ph ); }
|
|
+ inline bool remove( const path & ph )
|
|
+ { return remove<path>( ph ); }
|
|
+ inline bool remove( const wpath & ph )
|
|
+ { return remove<wpath>( ph ); }
|
|
|
|
inline unsigned long remove_all( const path & ph )
|
|
@@ -763,18 +769,37 @@
|
|
{
|
|
template<class Path>
|
|
- unsigned long remove_all_aux( const Path & ph )
|
|
+ bool remove_aux( const Path & ph, file_status f )
|
|
+ {
|
|
+ if ( exists( f ) )
|
|
+ {
|
|
+ system::error_code ec = remove_api( ph.external_file_string() );
|
|
+ if ( ec )
|
|
+ boost::throw_exception( basic_filesystem_error<Path>(
|
|
+ "boost::filesystem::remove", ph, ec ) );
|
|
+ return true;
|
|
+ }
|
|
+ return false;
|
|
+ }
|
|
+
|
|
+ template<class Path>
|
|
+ unsigned long remove_all_aux( const Path & ph, file_status f )
|
|
{
|
|
static const boost::filesystem::basic_directory_iterator<Path> end_itr;
|
|
unsigned long count = 1;
|
|
- if ( !boost::filesystem::is_symlink( ph ) // don't recurse symbolic links
|
|
- && boost::filesystem::is_directory( ph ) )
|
|
+ if ( !boost::filesystem::is_symlink( f ) // don't recurse symbolic links
|
|
+ && boost::filesystem::is_directory( f ) )
|
|
{
|
|
for ( boost::filesystem::basic_directory_iterator<Path> itr( ph );
|
|
itr != end_itr; ++itr )
|
|
{
|
|
- count += remove_all_aux( itr->path() );
|
|
+ boost::system::error_code ec;
|
|
+ boost::filesystem::file_status fn = boost::filesystem::symlink_status( itr->path(), ec );
|
|
+ if ( ec )
|
|
+ boost::throw_exception( basic_filesystem_error<Path>(
|
|
+ "boost::filesystem:remove_all", ph, ec ) );
|
|
+ count += remove_all_aux( itr->path(), fn );
|
|
}
|
|
}
|
|
- boost::filesystem::remove( ph );
|
|
+ remove_aux( ph, f );
|
|
return count;
|
|
}
|
|
Index: /trunk/libs/filesystem/test/operations_test.cpp
|
|
===================================================================
|
|
--- /trunk/libs/filesystem/test/operations_test.cpp (revision 47181)
|
|
+++ /trunk/libs/filesystem/test/operations_test.cpp (revision 48377)
|
|
@@ -777,8 +777,8 @@
|
|
BOOST_CHECK( fs::exists( file_ph ) );
|
|
BOOST_CHECK( !fs::is_directory( file_ph ) );
|
|
- fs::remove( file_ph );
|
|
+ BOOST_CHECK( fs::remove( file_ph ) );
|
|
BOOST_CHECK( !fs::exists( file_ph ) );
|
|
- fs::remove( "no-such-file" );
|
|
- fs::remove( "no-such-directory/no-such-file" );
|
|
+ BOOST_CHECK( !fs::remove( "no-such-file" ) );
|
|
+ BOOST_CHECK( !fs::remove( "no-such-directory/no-such-file" ) );
|
|
|
|
// remove() directory
|
|
@@ -791,5 +791,5 @@
|
|
bad_remove_dir = dir;
|
|
BOOST_CHECK( CHECK_EXCEPTION( bad_remove, ENOTEMPTY ) );
|
|
- fs::remove( d1 );
|
|
+ BOOST_CHECK( fs::remove( d1 ) );
|
|
BOOST_CHECK( !fs::exists( d1 ) );
|
|
|
|
@@ -798,5 +798,5 @@
|
|
// remove() dangling symbolic link
|
|
fs::path link( "dangling_link" );
|
|
- fs::remove( link );
|
|
+ fs::remove( link ); // remove any residue from past tests
|
|
BOOST_CHECK( !fs::is_symlink( link ) );
|
|
BOOST_CHECK( !fs::exists( link ) );
|
|
@@ -804,14 +804,14 @@
|
|
BOOST_CHECK( !fs::exists( link ) );
|
|
BOOST_CHECK( fs::is_symlink( link ) );
|
|
- fs::remove( link );
|
|
+ BOOST_CHECK( fs::remove( link ) );
|
|
BOOST_CHECK( !fs::is_symlink( link ) );
|
|
|
|
// remove() self-refering symbolic link
|
|
link = "link_to_self";
|
|
- fs::remove( link );
|
|
+ fs::remove( link ); // remove any residue from past tests
|
|
BOOST_CHECK( !fs::is_symlink( link ) );
|
|
BOOST_CHECK( !fs::exists( link ) );
|
|
fs::create_symlink( link, link );
|
|
- fs::remove( link );
|
|
+ BOOST_CHECK( fs::remove( link ) );
|
|
BOOST_CHECK( !fs::exists( link ) );
|
|
BOOST_CHECK( !fs::is_symlink( link ) );
|
|
@@ -820,12 +820,12 @@
|
|
link = "link_to_a";
|
|
fs::path link2( "link_to_b" );
|
|
- fs::remove( link );
|
|
- fs::remove( link2 );
|
|
+ fs::remove( link ); // remove any residue from past tests
|
|
+ fs::remove( link2 ); // remove any residue from past tests
|
|
BOOST_CHECK( !fs::is_symlink( link ) );
|
|
BOOST_CHECK( !fs::exists( link ) );
|
|
fs::create_symlink( link, link2 );
|
|
fs::create_symlink( link2, link );
|
|
- fs::remove( link );
|
|
- fs::remove( link2 );
|
|
+ BOOST_CHECK( fs::remove( link ) );
|
|
+ BOOST_CHECK( fs::remove( link2 ) );
|
|
BOOST_CHECK( !fs::exists( link ) );
|
|
BOOST_CHECK( !fs::exists( link2 ) );
|
|
@@ -834,5 +834,5 @@
|
|
// remove() symbolic link to file
|
|
file_ph = "link_target";
|
|
- fs::remove( file_ph );
|
|
+ fs::remove( file_ph ); // remove any residue from past tests
|
|
BOOST_CHECK( !fs::exists( file_ph ) );
|
|
create_file( file_ph, "" );
|
|
@@ -846,9 +846,9 @@
|
|
BOOST_CHECK( fs::is_regular_file( link ) );
|
|
BOOST_CHECK( fs::is_symlink( link ) );
|
|
- fs::remove( link );
|
|
+ BOOST_CHECK( fs::remove( link ) );
|
|
BOOST_CHECK( fs::exists( file_ph ) );
|
|
BOOST_CHECK( !fs::exists( link ) );
|
|
BOOST_CHECK( !fs::is_symlink( link ) );
|
|
- fs::remove( file_ph );
|
|
+ BOOST_CHECK( fs::remove( file_ph ) );
|
|
BOOST_CHECK( !fs::exists( file_ph ) );
|
|
}
|
|
Index: /trunk/libs/filesystem/test/msvc/fstream_test/fstream_test.vcproj
|
|
===================================================================
|
|
--- /trunk/libs/filesystem/test/msvc/fstream_test/fstream_test.vcproj (revision 46750)
|
|
+++ /trunk/libs/filesystem/test/msvc/fstream_test/fstream_test.vcproj (revision 48377)
|
|
@@ -87,5 +87,5 @@
|
|
<Tool
|
|
Name="VCPostBuildEventTool"
|
|
- Description="Auto test run"
|
|
+ Description="run test"
|
|
CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
|
|
/>
|
|
@@ -164,4 +164,6 @@
|
|
<Tool
|
|
Name="VCPostBuildEventTool"
|
|
+ Description="run test"
|
|
+ CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
|
|
/>
|
|
</Configuration>
|
|
Index: /trunk/libs/filesystem/test/msvc/operations_test/operations_test.vcproj
|
|
===================================================================
|
|
--- /trunk/libs/filesystem/test/msvc/operations_test/operations_test.vcproj (revision 46750)
|
|
+++ /trunk/libs/filesystem/test/msvc/operations_test/operations_test.vcproj (revision 48377)
|
|
@@ -87,5 +87,5 @@
|
|
<Tool
|
|
Name="VCPostBuildEventTool"
|
|
- Description="Auto test run"
|
|
+ Description="run test"
|
|
CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
|
|
/>
|
|
@@ -164,4 +164,6 @@
|
|
<Tool
|
|
Name="VCPostBuildEventTool"
|
|
+ Description="run test"
|
|
+ CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
|
|
/>
|
|
</Configuration>
|
|
Index: /trunk/libs/filesystem/test/msvc/large_file_support_test/large_file_support_test.vcproj
|
|
===================================================================
|
|
--- /trunk/libs/filesystem/test/msvc/large_file_support_test/large_file_support_test.vcproj (revision 46750)
|
|
+++ /trunk/libs/filesystem/test/msvc/large_file_support_test/large_file_support_test.vcproj (revision 48377)
|
|
@@ -87,5 +87,5 @@
|
|
<Tool
|
|
Name="VCPostBuildEventTool"
|
|
- Description="Auto test run"
|
|
+ Description="run test"
|
|
CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
|
|
/>
|
|
@@ -164,4 +164,6 @@
|
|
<Tool
|
|
Name="VCPostBuildEventTool"
|
|
+ Description="run test"
|
|
+ CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
|
|
/>
|
|
</Configuration>
|
|
Index: /trunk/libs/filesystem/test/msvc/simple_ls/simple_ls.vcproj
|
|
===================================================================
|
|
--- /trunk/libs/filesystem/test/msvc/simple_ls/simple_ls.vcproj (revision 46750)
|
|
+++ /trunk/libs/filesystem/test/msvc/simple_ls/simple_ls.vcproj (revision 48377)
|
|
@@ -87,4 +87,6 @@
|
|
<Tool
|
|
Name="VCPostBuildEventTool"
|
|
+ Description=""
|
|
+ CommandLine=""
|
|
/>
|
|
</Configuration>
|
|
@@ -162,4 +164,6 @@
|
|
<Tool
|
|
Name="VCPostBuildEventTool"
|
|
+ Description=""
|
|
+ CommandLine=""
|
|
/>
|
|
</Configuration>
|
|
Index: /trunk/libs/filesystem/test/msvc/wide_test/wide_test.vcproj
|
|
===================================================================
|
|
--- /trunk/libs/filesystem/test/msvc/wide_test/wide_test.vcproj (revision 46750)
|
|
+++ /trunk/libs/filesystem/test/msvc/wide_test/wide_test.vcproj (revision 48377)
|
|
@@ -87,5 +87,5 @@
|
|
<Tool
|
|
Name="VCPostBuildEventTool"
|
|
- Description="Auto test run"
|
|
+ Description="run test"
|
|
CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
|
|
/>
|
|
@@ -164,4 +164,6 @@
|
|
<Tool
|
|
Name="VCPostBuildEventTool"
|
|
+ Description="run test"
|
|
+ CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
|
|
/>
|
|
</Configuration>
|
|
Index: /trunk/libs/filesystem/test/msvc/mbcopy/mbcopy.vcproj
|
|
===================================================================
|
|
--- /trunk/libs/filesystem/test/msvc/mbcopy/mbcopy.vcproj (revision 46750)
|
|
+++ /trunk/libs/filesystem/test/msvc/mbcopy/mbcopy.vcproj (revision 48377)
|
|
@@ -87,4 +87,6 @@
|
|
<Tool
|
|
Name="VCPostBuildEventTool"
|
|
+ Description="run test"
|
|
+ CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
|
|
/>
|
|
</Configuration>
|
|
@@ -162,4 +164,6 @@
|
|
<Tool
|
|
Name="VCPostBuildEventTool"
|
|
+ Description="run test"
|
|
+ CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
|
|
/>
|
|
</Configuration>
|
|
Index: /trunk/libs/filesystem/test/msvc/convenience_test/convenience_test.vcproj
|
|
===================================================================
|
|
--- /trunk/libs/filesystem/test/msvc/convenience_test/convenience_test.vcproj (revision 46750)
|
|
+++ /trunk/libs/filesystem/test/msvc/convenience_test/convenience_test.vcproj (revision 48377)
|
|
@@ -87,5 +87,5 @@
|
|
<Tool
|
|
Name="VCPostBuildEventTool"
|
|
- Description="Auto test run"
|
|
+ Description="run test"
|
|
CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
|
|
/>
|
|
@@ -164,4 +164,6 @@
|
|
<Tool
|
|
Name="VCPostBuildEventTool"
|
|
+ Description="run test"
|
|
+ CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
|
|
/>
|
|
</Configuration>
|
|
Index: /trunk/libs/filesystem/test/msvc/path_test/path_test.vcproj
|
|
===================================================================
|
|
--- /trunk/libs/filesystem/test/msvc/path_test/path_test.vcproj (revision 46750)
|
|
+++ /trunk/libs/filesystem/test/msvc/path_test/path_test.vcproj (revision 48377)
|
|
@@ -87,5 +87,5 @@
|
|
<Tool
|
|
Name="VCPostBuildEventTool"
|
|
- Description="Auto test run"
|
|
+ Description="run test"
|
|
CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
|
|
/>
|
|
@@ -164,4 +164,6 @@
|
|
<Tool
|
|
Name="VCPostBuildEventTool"
|
|
+ Description="run test"
|
|
+ CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
|
|
/>
|
|
</Configuration>
|