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/ntdll.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'winsup/cygwin/ntdll.h') diff --git a/winsup/cygwin/ntdll.h b/winsup/cygwin/ntdll.h index d74095a57..60651e82c 100644 --- a/winsup/cygwin/ntdll.h +++ b/winsup/cygwin/ntdll.h @@ -527,6 +527,14 @@ typedef struct _PEB ULONG SessionId; } PEB, *PPEB; +/* Simplifed definition, just to get the PEB pointer. */ +typedef struct _TEB +{ + PVOID dummy[12]; + PPEB Peb; + /* A lot more follows... */ +} TEB, *PTEB; + typedef struct _PROCESS_BASIC_INFORMATION { NTSTATUS ExitStatus; -- cgit v1.2.3