From 09ecdc85044c736c25ac58c0f37b3fb5394c2733 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Tue, 23 Oct 2007 16:26:28 +0000 Subject: * cygheap.h (struct cwdstuff): Drop hash member. Drop get_hash, get_initial, and fixup_after_exec declarations. Convert win32 to UNICODE_STRING. (cwdstuff::get_drive): Convert win32 path in current codepage. (cwdstuff::set): Take native NT path. * ntdll.h (struct _TEB): Typedef. * path.cc (mount_info::conv_to_posix_path): Add variant taking wide char DOS paths. (symlink_info::posixify): Simplify concatenating cwd and relative path. (hash_path_name): Drop special relative path handling. (chdir): Drop special "drive only" handling. Call cwdstuff::set with native path. (cwdstuff::get_hash): Remove. (windows_system_directory): Remove. (_upp): Remove. (get_user_proc_parms): Make inline. Get PEB pointer by calling NtCurrentTeb. (cwdstuff::init): Simplify. (cwdstuff::set): Rework to handle incoming native NT path. Workaround a Vista problem with CWD handle in the user process parameter block. (cwdstuff::get): Simplify locking. Accommodate type change of win32. * shared_info.h (mount_info): Add declaration for new conv_to_posix_path method. * strfuncs.cc (sys_wcstombs): Return correct length of created multi-byte string. --- winsup/cygwin/shared_info.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'winsup/cygwin/shared_info.h') diff --git a/winsup/cygwin/shared_info.h b/winsup/cygwin/shared_info.h index fc5bc8625..dc345d30f 100644 --- a/winsup/cygwin/shared_info.h +++ b/winsup/cygwin/shared_info.h @@ -82,6 +82,8 @@ class mount_info unsigned set_flags_from_win32_path (const char *path); int conv_to_win32_path (const char *src_path, char *dst, device&, unsigned *flags = NULL); + int conv_to_posix_path (PWCHAR src_path, char *posix_path, + int keep_rel_p); int conv_to_posix_path (const char *src_path, char *posix_path, int keep_rel_p); struct mntent *getmntent (int x); -- cgit v1.2.3