Boost C++ Libraries: Ticket #1061: boost::filesystem::basic_recursive_directory_iterator fails on empty directories. https://svn.boost.org/trac10/ticket/1061 <p> See the following code (<a class="ext-link" href="http://lists.boost.org/Archives/boost/2006/10/111230.php"><span class="icon">​</span>http://lists.boost.org/Archives/boost/2006/10/111230.php</a>): </p> <pre class="wiki">int main(int argc, char *argv[]) { fs::path p("c:\\empty_folder"); // a empty folder fs::recursive_directory_iterator iter(p); if (iter != fs::recursive_directory_iterator()) iter-&gt;status(); // &lt;== cause a assertion failure return 0; } </pre><p> It might be able to be fixed by modifying convenience.hpp in the following way (only informally tested for an empty top-level directory): </p> <pre class="wiki"> // constructors template&lt;class Path&gt; basic_recursive_directory_iterator&lt;Path&gt;:: basic_recursive_directory_iterator( const Path &amp; dir_path ) : m_imp( new detail::recur_dir_itr_imp&lt;Path&gt; ) { m_imp-&gt;m_stack.push( basic_directory_iterator&lt;Path&gt;( dir_path ) ); if (m_imp-&gt;m_stack.top () == basic_directory_iterator&lt;Path&gt; ()) { m_imp.reset (); } } template&lt;class Path&gt; basic_recursive_directory_iterator&lt;Path&gt;:: basic_recursive_directory_iterator( const Path &amp; dir_path, system_error_type &amp; ec ) : m_imp( new detail::recur_dir_itr_imp&lt;Path&gt; ) { m_imp-&gt;m_stack.push( basic_directory_iterator&lt;Path&gt;( dir_path, std::nothrow ) ); if (m_imp-&gt;m_stack.top () == basic_directory_iterator&lt;Path&gt; ()) { m_imp.reset (); } m_imp-&gt;m_no_throw = true; } </pre><p> I haven't tested this fix with any significant rigor. I am just reporting the bug so it can be tracked, and suggesting the code where the problem is. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/1061 Trac 1.4.3 Eric Niebler Wed, 11 Jul 2007 01:57:54 GMT owner set https://svn.boost.org/trac10/ticket/1061#comment:1 https://svn.boost.org/trac10/ticket/1061#comment:1 <ul> <li><strong>owner</strong> set to <span class="trac-author">Beman Dawes</span> </li> </ul> Ticket Beman Dawes Sun, 26 Aug 2007 15:57:14 GMT status, milestone changed https://svn.boost.org/trac10/ticket/1061#comment:2 https://svn.boost.org/trac10/ticket/1061#comment:2 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">assigned</span> </li> <li><strong>milestone</strong> <span class="trac-field-old">To Be Determined</span> → <span class="trac-field-new">Boost 1.35.0</span> </li> </ul> <p> I've confirm that this is a bug, and added a test case to convenience_test.cpp that detects it. </p> <p> The fix is scheduled for 1.35.0. </p> <p> Thanks, </p> <p> --Beman </p> Ticket Beman Dawes Mon, 27 Aug 2007 23:22:56 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/1061#comment:3 https://svn.boost.org/trac10/ticket/1061#comment:3 <ul> <li><strong>status</strong> <span class="trac-field-old">assigned</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> <p> Fixed. See revision 38978 on branches/filesystem. </p> Ticket hxbtamyc Tue, 26 Aug 2008 16:43:13 GMT <link>https://svn.boost.org/trac10/ticket/1061#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/1061#comment:4</guid> <description> <p> cMryPa &lt;a href="<a class="ext-link" href="http://uemvxixwbjae.com/"><span class="icon">​</span>http://uemvxixwbjae.com/</a>"&gt;uemvxixwbjae&lt;/a&gt;, [url=<a class="ext-link" href="http://zvxeczxjmamx.com/]zvxeczxjmamx[/url"><span class="icon">​</span>http://zvxeczxjmamx.com/]zvxeczxjmamx[/url</a>], [link=<a class="ext-link" href="http://yqtxgbontyru.com/]yqtxgbontyru[/link"><span class="icon">​</span>http://yqtxgbontyru.com/]yqtxgbontyru[/link</a>], <a class="ext-link" href="http://wiybodbmcyau.com/"><span class="icon">​</span>http://wiybodbmcyau.com/</a> </p> </description> <category>Ticket</category> </item> </channel> </rss>