4
0
mirror of git://sourceware.org/git/newlib-cygwin.git synced 2025-01-15 11:00:04 +08:00
Corinna Vinschen e4b575030b Add case-sensitivity.
Unconditionally handle mount points case-sensitive.
	Unconditionally handle virtual paths case-sensitive.
	Unconditionally handle registry paths case-insensitive.
	Otherwise, accommodate case-sensitivity of given path throughout.
	* cygheap.cc (cygheap_root::set): Get additional caseinsensitive
	parameter and store it.
	* cygheap.h (struct cygheap_root_mount_info): Add member
	caseinsensitive.
	* dlfcn.cc (get_full_path_of_dll): Drop PC_NOFULL parameter from call
	to path_conv::check.
	* environ.cc (pcheck_case): Remove.
	(check_case_init): Remove.
	(known): Drop "check_case" option.
	* exceptions.cc (open_stackdumpfile): Add comment.
	* fhandler.cc (fhandler_base::get_default_fmode): Call pathmatch
	instead of strcasematch.
	* fhandler_disk_file.cc: Accommodate case-sensitivity of given path
	throughout.
	(__DIR_mounts::check_mount): Unconditionally check virtual paths
	case-sensitive.
	(fhandler_disk_file::link): Drop case clash handling.
	(fhandler_disk_file::open): Ditto.
	(fhandler_disk_file::readdir_helper): Drop managed mount code.
	* mount.cc: Remove managed mount code and datastructures.
	(struct opt): Remove "managed" option.  Add "posix=0" and "posix=1"
	options.
	(fillout_mntent): Remove "managed" output.  Add "posix" output.
	* path.cc (struct symlink_info): Remove case_clash member and
	case_check method.
	(pcheck_case): Remove.
	(path_prefix_p): Take additional bool parameter "caseinsensitive".
	(pathnmatch): Ditto.
	(pathmatch): Ditto.
	(mkrelpath): Ditto.
	(fs_info::update): Set caseinsensitive flag according to file system
	name and FILE_CASE_SENSITIVE_SEARCH flag.  Add comment.
	(tfx_chars_managed): Remove.
	(transform_chars): Drop "managed" parameter.  Always use tfx_chars.
	(get_nt_native_path): Drop "managed" parameter.  Make sure drive letters
	are always upper case.
	(getfileattr): Change second parameter to denote caseinsensitivity.
	(path_conv::check): Initialize caseinsensitive to OBJ_CASE_INSENSITIVE.
	Set caseinsensitive according to global obcaseinsensitive flag, file
	system case sensitivity and MOUNT_NOPOSIX mount flag.
	Drop case_clash and all the related code.
	(symlink_worker): Drop case clash handling.
	(symlink_info::set): Drop setting case_clash.
	(symlink_info::case_check): Remove.
	(cwdstuff::set): Add comment.
	(etc::init): Take path_conv instead of PUNICODE_STRING as parameter to
	allow case sensitivity.
	* path.h (enum pathconv_arg): Drop PC_SYM_IGNORE.
	(enum case_checking): Remove.
	(enum path_types): Drop PATH_ENC, add PATH_NOPOSIX flag.
	(struct fs_info): Add caseinsensitive flag and accessor methods.
	(class path_conv): Add caseinsensitive member and define
	objcaseinsensitive method.  Drop case_clash member and isencoded method.
	(pathmatch): Change prototype according to above change.
	(pathnmatch): Ditto.
	(path_prefix_p): Ditto.
	(get_nt_native_path): Ditto.
	(class etc): Ditto.
	(fnunmunge): Remove prototype.
	* shared.cc (shared_info::init_obcaseinsensitive): Initialize
	obcaseinsensitive flag from obcaseinsensitive registry value.
	(shared_info::initialize): Call init_obcaseinsensitive here by the
	first process creating the shared memory.
	* shared_info.h (mount_item::fnmunge): Remove.
	(shared_info::obcaseinsensitive): Rename from obcaseinsensitivity.
	(shared_info::init_obcaseinsensitive): Declare.
	* syscalls.cc (try_to_bin): Add comment.
	* include/sys/mount.h (MOUNT_ENC): Remove flag.
	(MOUNT_NOPOSIX): Add flag.
2008-07-16 20:20:45 +00:00
..
2008-07-16 20:20:45 +00:00
2006-05-24 16:59:03 +00:00
2006-03-01 20:20:22 +00:00
2008-07-16 20:20:45 +00:00
2006-01-16 19:52:21 +00:00
2007-01-03 11:14:53 +00:00
2008-04-01 13:22:47 +00:00
2005-09-29 14:28:22 +00:00
2005-03-23 17:11:24 +00:00
2008-07-16 20:20:45 +00:00
2008-07-16 20:20:45 +00:00
2008-04-24 09:59:54 +00:00
2008-06-10 14:48:24 +00:00
2008-07-16 20:20:45 +00:00
2008-07-16 20:20:45 +00:00
2008-07-16 20:20:45 +00:00
2008-07-16 20:20:45 +00:00
2008-07-16 20:20:45 +00:00
2008-07-16 20:20:45 +00:00
2008-07-16 20:20:45 +00:00
2008-07-16 20:20:45 +00:00
2008-07-16 20:20:45 +00:00
2008-04-01 13:22:47 +00:00
2006-03-01 20:20:22 +00:00
2004-12-05 02:30:20 +00:00
2008-04-07 16:33:44 +00:00
2008-07-16 20:20:45 +00:00
2008-07-16 20:20:45 +00:00
2008-05-20 15:11:23 +00:00
2008-05-20 15:11:23 +00:00
2008-07-16 20:20:45 +00:00
2008-07-16 20:20:45 +00:00
2008-04-01 13:22:47 +00:00
2008-04-24 09:59:54 +00:00
2008-04-01 13:22:47 +00:00
2008-07-16 20:20:45 +00:00
2008-07-16 20:20:45 +00:00
2004-12-27 19:03:56 +00:00
2008-05-22 01:25:37 +00:00
2008-07-16 20:20:45 +00:00
2008-04-01 13:22:47 +00:00
2008-07-16 20:20:45 +00:00
2008-07-16 20:20:45 +00:00
2007-12-12 12:12:24 +00:00
2006-07-17 19:30:30 +00:00