char *THIS_path = tp.c_get ();
symlink_info sym;
bool need_directory = 0;
- bool saw_symlinks = 0;
bool add_ext = false;
bool is_relpath;
char *tail, *path_end;
these operations again on the newly derived path. */
else if (symlen > 0)
{
- saw_symlinks = 1;
if (component == 0 && !need_directory
&& (!(opt & PC_SYM_FOLLOW)
|| (is_known_reparse_point ()
}
}
- if (saw_symlinks)
- set_has_symlinks ();
-
if (opt & PC_OPEN)
path_flags |= PATH_OPEN;
PATH_LNK = 0x01000000,
PATH_TEXT = 0x02000000,
PATH_REP = 0x04000000,
- PATH_HAS_SYMLINKS = 0x10000000,
PATH_SOCKET = 0x40000000
};
return (path_flags & PATH_SPARSE)
&& (fs_flags () & FILE_SUPPORTS_SPARSE_FILES);
}
- int has_symlinks () const {return path_flags & PATH_HAS_SYMLINKS;}
int has_dos_filenames_only () const {return path_flags & PATH_DOS;}
int has_buggy_reopen () const {return fs.has_buggy_reopen ();}
int has_buggy_fileid_dirinfo () const {return fs.has_buggy_fileid_dirinfo ();}
}
void set_symlink (DWORD n) {path_flags |= PATH_SYMLINK; symlink_length = n;}
- void set_has_symlinks () {path_flags |= PATH_HAS_SYMLINKS;}
void set_exec (int x = 1) {path_flags |= x ? PATH_EXEC : PATH_NOTEXEC;}
void __reg3 check (const UNICODE_STRING *upath, unsigned opt = PC_SYM_FOLLOW,