* path.h (pathconv_arg): Define PC_NO_ACCESS_CHECK.
(path_types): Define PATH_NO_ACCESS_CHECK == PC_NO_ACCESS_CHECK. * path.cc (symlink_info::check_sysfile): Move to symlink_info class and eliminate arguments that are part of class. Use set_error. (symlink_info::check_shortcut): Ditto. (symlink_info::set_error): New function. (path_conv::check): Pass PC_NO_ACCESS_CHECK to symlink_info::check. (symlink_info::check): Preserve PC_NO_ACCESS_CHECK in pflags. Use set_error.
This commit is contained in:
@ -38,7 +38,8 @@ enum pathconv_arg
|
||||
PC_FULL = 0x0010,
|
||||
PC_NULLEMPTY = 0x0020,
|
||||
PC_CHECK_EA = 0x0040,
|
||||
PC_POSIX = 0x0080
|
||||
PC_POSIX = 0x0080,
|
||||
PC_NO_ACCESS_CHECK = 0x00800000
|
||||
};
|
||||
|
||||
enum case_checking
|
||||
@ -54,18 +55,19 @@ enum case_checking
|
||||
|
||||
enum path_types
|
||||
{
|
||||
PATH_NOTHING = 0,
|
||||
PATH_SYMLINK = MOUNT_SYMLINK,
|
||||
PATH_BINARY = MOUNT_BINARY,
|
||||
PATH_EXEC = MOUNT_EXEC,
|
||||
PATH_NOTEXEC = MOUNT_NOTEXEC,
|
||||
PATH_CYGWIN_EXEC = MOUNT_CYGWIN_EXEC,
|
||||
PATH_ENC = MOUNT_ENC,
|
||||
PATH_ALL_EXEC = (PATH_CYGWIN_EXEC | PATH_EXEC),
|
||||
PATH_LNK = 0x01000000,
|
||||
PATH_TEXT = 0x02000000,
|
||||
PATH_HAS_SYMLINKS = 0x10000000,
|
||||
PATH_SOCKET = 0x40000000
|
||||
PATH_NOTHING = 0,
|
||||
PATH_SYMLINK = MOUNT_SYMLINK,
|
||||
PATH_BINARY = MOUNT_BINARY,
|
||||
PATH_EXEC = MOUNT_EXEC,
|
||||
PATH_NOTEXEC = MOUNT_NOTEXEC,
|
||||
PATH_CYGWIN_EXEC = MOUNT_CYGWIN_EXEC,
|
||||
PATH_ENC = MOUNT_ENC,
|
||||
PATH_ALL_EXEC = (PATH_CYGWIN_EXEC | PATH_EXEC),
|
||||
PATH_NO_ACCESS_CHECK = PC_NO_ACCESS_CHECK,
|
||||
PATH_LNK = 0x01000000,
|
||||
PATH_TEXT = 0x02000000,
|
||||
PATH_HAS_SYMLINKS = 0x10000000,
|
||||
PATH_SOCKET = 0x40000000
|
||||
};
|
||||
|
||||
class symlink_info;
|
||||
|
Reference in New Issue
Block a user