Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
482b64ef
Commit
482b64ef
authored
Aug 25, 2020
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ntdll: Use syscalls for the file path conversion functions.
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
4e581163
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
4 additions
and
34 deletions
+4
-34
directory.c
dlls/ntdll/directory.c
+0
-16
ntdll.spec
dlls/ntdll/ntdll.spec
+2
-2
path.c
dlls/ntdll/path.c
+1
-10
loader.c
dlls/ntdll/unix/loader.c
+0
-2
unixlib.h
dlls/ntdll/unixlib.h
+1
-4
No files found.
dlls/ntdll/directory.c
View file @
482b64ef
...
@@ -83,22 +83,6 @@ void init_directories(void)
...
@@ -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.@)
* RtlWow64EnableFsRedirection (NTDLL.@)
*/
*/
...
...
dlls/ntdll/ntdll.spec
View file @
482b64ef
...
@@ -1609,5 +1609,5 @@
...
@@ -1609,5 +1609,5 @@
@ cdecl __wine_get_unix_codepage()
@ cdecl __wine_get_unix_codepage()
# Filesystem
# Filesystem
@ cdecl wine_nt_to_unix_file_name(ptr ptr ptr long)
@ cdecl
-syscall
wine_nt_to_unix_file_name(ptr ptr ptr long)
@ cdecl wine_unix_to_nt_file_name(str ptr ptr)
@ cdecl
-syscall
wine_unix_to_nt_file_name(str ptr ptr)
dlls/ntdll/path.c
View file @
482b64ef
...
@@ -555,7 +555,7 @@ static ULONG get_full_path_helper(LPCWSTR name, LPWSTR buffer, ULONG size)
...
@@ -555,7 +555,7 @@ static ULONG get_full_path_helper(LPCWSTR name, LPWSTR buffer, ULONG size)
for
(;;)
for
(;;)
{
{
if
(
!
(
nt_str
=
RtlAllocateHeap
(
GetProcessHeap
(),
0
,
buflen
*
sizeof
(
WCHAR
)
)))
break
;
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
;
if
(
status
!=
STATUS_BUFFER_TOO_SMALL
)
break
;
RtlFreeHeap
(
GetProcessHeap
(),
0
,
nt_str
);
RtlFreeHeap
(
GetProcessHeap
(),
0
,
nt_str
);
}
}
...
@@ -892,12 +892,3 @@ NTSTATUS WINAPI RtlSetCurrentDirectory_U(const UNICODE_STRING* dir)
...
@@ -892,12 +892,3 @@ NTSTATUS WINAPI RtlSetCurrentDirectory_U(const UNICODE_STRING* dir)
RtlReleasePebLock
();
RtlReleasePebLock
();
return
nts
;
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
);
}
dlls/ntdll/unix/loader.c
View file @
482b64ef
...
@@ -1354,8 +1354,6 @@ static struct unix_funcs unix_funcs =
...
@@ -1354,8 +1354,6 @@ static struct unix_funcs unix_funcs =
virtual_release_address_space
,
virtual_release_address_space
,
exec_process
,
exec_process
,
server_init_process_done
,
server_init_process_done
,
wine_nt_to_unix_file_name
,
wine_unix_to_nt_file_name
,
set_show_dot_files
,
set_show_dot_files
,
load_so_dll
,
load_so_dll
,
load_builtin_dll
,
load_builtin_dll
,
...
...
dlls/ntdll/unixlib.h
View file @
482b64ef
...
@@ -28,7 +28,7 @@ struct msghdr;
...
@@ -28,7 +28,7 @@ struct msghdr;
struct
_DISPATCHER_CONTEXT
;
struct
_DISPATCHER_CONTEXT
;
/* increment this when you change the function table */
/* increment this when you change the function table */
#define NTDLL_UNIXLIB_VERSION 9
5
#define NTDLL_UNIXLIB_VERSION 9
6
struct
unix_funcs
struct
unix_funcs
{
{
...
@@ -96,9 +96,6 @@ struct unix_funcs
...
@@ -96,9 +96,6 @@ struct unix_funcs
void
(
CDECL
*
server_init_process_done
)(
void
*
relay
);
void
(
CDECL
*
server_init_process_done
)(
void
*
relay
);
/* file functions */
/* 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
);
void
(
CDECL
*
set_show_dot_files
)(
BOOL
enable
);
/* loader functions */
/* loader functions */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment