Ticket #5652: bug5652.diff

File bug5652.diff, 815 bytes (added by Daniel Aarno <macbishop@…>, 11 years ago)

Fix for bug 5652: Check if file is symbolic link before stat:ing it during recursion (an not the other way around)

  • operations.hpp

     
    689689    {
    690690      if ((m_options & symlink_option::_detail_no_push) == symlink_option::_detail_no_push)
    691691        m_options &= ~symlink_option::_detail_no_push;
    692       else if (is_directory(m_stack.top()->status())
    693         && (!is_symlink(m_stack.top()->symlink_status())
    694             || (m_options & symlink_option::recurse) == symlink_option::recurse))
     692      else if ((!is_symlink(m_stack.top()->symlink_status())
     693                || (m_options & symlink_option::recurse) == symlink_option::recurse)
     694               && is_directory(m_stack.top()->status()))
    695695      {
    696696        if (ec == 0)
    697697          m_stack.push(directory_iterator(m_stack.top()->path()));