ntdll: Use syscalls for the file path conversion functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
4e5811637a
commit
482b64effd
|
@ -83,22 +83,6 @@ void init_directories(void)
|
|||
}
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
* wine_nt_to_unix_file_name (NTDLL.@) Not a Windows API
|
||||
*
|
||||
* Convert a file name from NT namespace to Unix namespace.
|
||||
*
|
||||
* If disposition is not FILE_OPEN or FILE_OVERWRITE, the last path
|
||||
* element doesn't have to exist; in that case STATUS_NO_SUCH_FILE is
|
||||
* returned, but the unix name is still filled in properly.
|
||||
*/
|
||||
NTSTATUS CDECL wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, char *nameA, SIZE_T *size,
|
||||
UINT disposition )
|
||||
{
|
||||
return unix_funcs->nt_to_unix_file_name( nameW, nameA, size, disposition );
|
||||
}
|
||||
|
||||
|
||||
/******************************************************************
|
||||
* RtlWow64EnableFsRedirection (NTDLL.@)
|
||||
*/
|
||||
|
|
|
@ -1609,5 +1609,5 @@
|
|||
@ cdecl __wine_get_unix_codepage()
|
||||
|
||||
# Filesystem
|
||||
@ cdecl wine_nt_to_unix_file_name(ptr ptr ptr long)
|
||||
@ cdecl wine_unix_to_nt_file_name(str ptr ptr)
|
||||
@ cdecl -syscall wine_nt_to_unix_file_name(ptr ptr ptr long)
|
||||
@ cdecl -syscall wine_unix_to_nt_file_name(str ptr ptr)
|
||||
|
|
|
@ -555,7 +555,7 @@ static ULONG get_full_path_helper(LPCWSTR name, LPWSTR buffer, ULONG size)
|
|||
for (;;)
|
||||
{
|
||||
if (!(nt_str = RtlAllocateHeap( GetProcessHeap(), 0, buflen * sizeof(WCHAR) ))) break;
|
||||
status = unix_funcs->unix_to_nt_file_name( unix_name, nt_str, &buflen );
|
||||
status = wine_unix_to_nt_file_name( unix_name, nt_str, &buflen );
|
||||
if (status != STATUS_BUFFER_TOO_SMALL) break;
|
||||
RtlFreeHeap( GetProcessHeap(), 0, nt_str );
|
||||
}
|
||||
|
@ -892,12 +892,3 @@ NTSTATUS WINAPI RtlSetCurrentDirectory_U(const UNICODE_STRING* dir)
|
|||
RtlReleasePebLock();
|
||||
return nts;
|
||||
}
|
||||
|
||||
|
||||
/******************************************************************
|
||||
* wine_unix_to_nt_file_name (NTDLL.@) Not a Windows API
|
||||
*/
|
||||
NTSTATUS CDECL wine_unix_to_nt_file_name( const char *name, WCHAR *buffer, SIZE_T *size )
|
||||
{
|
||||
return unix_funcs->unix_to_nt_file_name( name, buffer, size );
|
||||
}
|
||||
|
|
|
@ -1354,8 +1354,6 @@ static struct unix_funcs unix_funcs =
|
|||
virtual_release_address_space,
|
||||
exec_process,
|
||||
server_init_process_done,
|
||||
wine_nt_to_unix_file_name,
|
||||
wine_unix_to_nt_file_name,
|
||||
set_show_dot_files,
|
||||
load_so_dll,
|
||||
load_builtin_dll,
|
||||
|
|
|
@ -28,7 +28,7 @@ struct msghdr;
|
|||
struct _DISPATCHER_CONTEXT;
|
||||
|
||||
/* increment this when you change the function table */
|
||||
#define NTDLL_UNIXLIB_VERSION 95
|
||||
#define NTDLL_UNIXLIB_VERSION 96
|
||||
|
||||
struct unix_funcs
|
||||
{
|
||||
|
@ -96,9 +96,6 @@ struct unix_funcs
|
|||
void (CDECL *server_init_process_done)( void *relay );
|
||||
|
||||
/* file functions */
|
||||
NTSTATUS (CDECL *nt_to_unix_file_name)( const UNICODE_STRING *nameW, char *nameA, SIZE_T *size,
|
||||
UINT disposition );
|
||||
NTSTATUS (CDECL *unix_to_nt_file_name)( const char *name, WCHAR *buffer, SIZE_T *size );
|
||||
void (CDECL *set_show_dot_files)( BOOL enable );
|
||||
|
||||
/* loader functions */
|
||||
|
|
Loading…
Reference in New Issue