@@ -2280,8 +2280,12 @@ void SpecFileQueryWidget::updateNumberFiles( const string srcdir,
2280
2280
#ifdef _WIN32
2281
2281
const wstring wsrcdir = SpecUtils::convert_from_utf8_to_utf16 ( srcdir );
2282
2282
boost::filesystem::recursive_directory_iterator diriter ( wsrcdir, boost::filesystem::symlink_option::recurse );
2283
+ #else
2284
+ #if BOOST_VERSION >= 108400 && BOOST_FILESYSTEM_VERSION >= 3
2285
+ boost::filesystem::recursive_directory_iterator diriter ( srcdir, boost::filesystem::directory_options::follow_directory_symlink );
2283
2286
#else
2284
2287
boost::filesystem::recursive_directory_iterator diriter ( srcdir, boost::filesystem::symlink_option::recurse );
2288
+ #endif
2285
2289
#endif
2286
2290
const boost::filesystem::recursive_directory_iterator dirend;
2287
2291
@@ -2303,7 +2307,11 @@ void SpecFileQueryWidget::updateNumberFiles( const string srcdir,
2303
2307
if ( !recursive && is_dir )
2304
2308
{
2305
2309
is_file = false ; // JIC
2310
+ #if BOOST_VERSION >= 108400 && BOOST_FILESYSTEM_VERSION >= 3
2311
+ diriter.disable_recursion_pending ();
2312
+ #else
2306
2313
diriter.no_push (); // Dont recurse down into directories if we arent doing a recursive search
2314
+ #endif
2307
2315
}
2308
2316
2309
2317
bool is_simlink_dir = false ;
@@ -2324,7 +2332,13 @@ void SpecFileQueryWidget::updateNumberFiles( const string srcdir,
2324
2332
resvedpath = boost::filesystem::canonical ( resvedpath );
2325
2333
auto pcanon = boost::filesystem::canonical ( diriter->path ().parent_path () );
2326
2334
if ( SpecUtils::starts_with ( pcanon.string <string>(), resvedpath.string <string>().c_str () ) )
2335
+ {
2336
+ #if BOOST_VERSION >= 108400 && BOOST_FILESYSTEM_VERSION >= 3
2337
+ diriter.disable_recursion_pending ();
2338
+ #else
2327
2339
diriter.no_push (); // Dont recurse down into directories
2340
+ #endif
2341
+ }
2328
2342
}// if( is_simlink_dir && recursive )
2329
2343
2330
2344
@@ -2802,8 +2816,12 @@ void SpecFileQueryWidget::doSearch( const std::string basedir,
2802
2816
#ifdef _WIN32
2803
2817
const std::wstring wbasedir = SpecUtils::convert_from_utf8_to_utf16 ( basedir );
2804
2818
boost::filesystem::recursive_directory_iterator diriter ( wbasedir, boost::filesystem::symlink_option::recurse );
2819
+ #else
2820
+ #if BOOST_VERSION >= 108400 && BOOST_FILESYSTEM_VERSION >= 3
2821
+ boost::filesystem::recursive_directory_iterator diriter ( basedir, boost::filesystem::directory_options::follow_directory_symlink );
2805
2822
#else
2806
2823
boost::filesystem::recursive_directory_iterator diriter ( basedir, boost::filesystem::symlink_option::recurse );
2824
+ #endif
2807
2825
#endif
2808
2826
const boost::filesystem::recursive_directory_iterator dirend;
2809
2827
@@ -2825,7 +2843,11 @@ void SpecFileQueryWidget::doSearch( const std::string basedir,
2825
2843
if ( !recursive && is_dir )
2826
2844
{
2827
2845
is_file = false ; // JIC
2846
+ #if BOOST_VERSION >= 108400 && BOOST_FILESYSTEM_VERSION >= 3
2847
+ diriter.disable_recursion_pending ();
2848
+ #else
2828
2849
diriter.no_push (); // Dont recurse down into directories if we arent doing a recursive search
2850
+ #endif
2829
2851
}
2830
2852
2831
2853
bool is_simlink_dir = false ;
@@ -2846,7 +2868,13 @@ void SpecFileQueryWidget::doSearch( const std::string basedir,
2846
2868
resvedpath = boost::filesystem::canonical ( resvedpath );
2847
2869
auto pcanon = boost::filesystem::canonical ( diriter->path ().parent_path () );
2848
2870
if ( SpecUtils::starts_with ( pcanon.string <string>(), resvedpath.string <string>().c_str () ) )
2871
+ {
2872
+ #if BOOST_VERSION >= 108400 && BOOST_FILESYSTEM_VERSION >= 3
2873
+ diriter.disable_recursion_pending ();
2874
+ #else
2849
2875
diriter.no_push (); // Dont recurse down into directories
2876
+ #endif
2877
+ }
2850
2878
}// if( is_simlink_dir && recursive )
2851
2879
2852
2880
0 commit comments