Now this function performs only one task and only in Windows version: it skips symlinks to directories if -e1024 switch is specified. Symlinks are skipped in ScanTree class, so their entire contents is skipped too. Without this function we would check the attribute only directly before archiving, so we would skip the symlink record, but not the contents of symlinked directory.
| 110 | // only directly before archiving, so we would skip the symlink record, |
| 111 | // but not the contents of symlinked directory. |
| 112 | bool CommandData::ExclDirByAttr(uint FileAttr) |
| 113 | { |
| 114 | #ifdef _WIN_ALL |
| 115 | if ((FileAttr & FILE_ATTRIBUTE_REPARSE_POINT)!=0 && |
| 116 | (ExclFileAttr & FILE_ATTRIBUTE_REPARSE_POINT)!=0) |
| 117 | return true; |
| 118 | #endif |
| 119 | return false; |
| 120 | } |
| 121 | #endif |
| 122 | |
| 123 |