[Bug 52585] NtQueryDirectoryObject multiple entries not implemented, breaks shells on Cygwin

WineHQ Bugzilla wine-bugs at winehq.org
Sun Mar 27 05:25:16 CDT 2022


https://bugs.winehq.org/show_bug.cgi?id=52585

--- Comment #4 from megastallman <megastallman at gmail.com> ---
Hi Zebediah! Probably this patch is not complete, at least - we lack of some
structures:

In file included from dlls/ntdll/unix/sync.c:64:
dlls/ntdll/unix/sync.c: In function 'NtQueryDirectoryObject':
dlls/ntdll/unix/sync.c:1110:23: error: 'union generic_request' has no member
named 'get_directory_entries_request'; did you mean
'get_directory_entry_request'?
 1110 |     SERVER_START_REQ( get_directory_entries )
      |                       ^~~~~~~~~~~~~~~~~~~~~
include/wine/server.h:127:58: note: in definition of macro 'SERVER_START_REQ'
  127 |         struct type##_request * const req =
&__req.u.req.type##_request; \
      |                                                          ^~~~
dlls/ntdll/unix/sync.c:1110:23: error: 'union generic_reply' has no member
named 'get_directory_entries_reply'; did you mean 'get_directory_entry_reply'?
 1110 |     SERVER_START_REQ( get_directory_entries )
      |                       ^~~~~~~~~~~~~~~~~~~~~
include/wine/server.h:128:66: note: in definition of macro 'SERVER_START_REQ'
  128 |         const struct type##_reply * const reply =
&__req.u.reply.type##_reply; \
      |                                                                  ^~~~
include/wine/server.h:130:42: error: 'REQ_get_directory_entries' undeclared
(first use in this function); did you mean 'REQ_get_directory_entry'?
  130 |         __req.u.req.request_header.req = REQ_##type; \
      |                                          ^~~~
dlls/ntdll/unix/sync.c:1110:5: note: in expansion of macro 'SERVER_START_REQ'
 1110 |     SERVER_START_REQ( get_directory_entries )
      |     ^~~~~~~~~~~~~~~~
include/wine/server.h:130:42: note: each undeclared identifier is reported only
once for each function it appears in
  130 |         __req.u.req.request_header.req = REQ_##type; \
      |                                          ^~~~
dlls/ntdll/unix/sync.c:1110:5: note: in expansion of macro 'SERVER_START_REQ'
 1110 |     SERVER_START_REQ( get_directory_entries )
      |     ^~~~~~~~~~~~~~~~
dlls/ntdll/unix/sync.c:1112:12: error: dereferencing pointer to incomplete type
'struct get_directory_entries_request'
 1112 |         req->handle = wine_server_obj_handle( handle );
      |            ^~
dlls/ntdll/unix/sync.c:1117:22: error: dereferencing pointer to incomplete type
'const struct get_directory_entries_reply'
 1117 |         count = reply->count;
      |                      ^~
dlls/ntdll/unix/sync.c:1141:56: error: dereferencing pointer to incomplete type
'const struct directory_entry'
 1141 |         unsigned int entry_size = sizeof(*info) + entry->name_len +
entry->type_len + 2 * sizeof(WCHAR);
      |                                                        ^~
dlls/ntdll/unix/sync.c:1165:27: error: invalid use of undefined type 'struct
directory_entry'
 1165 |         memcpy( p, (entry + 1), entry->name_len );
      |                           ^
dlls/ntdll/unix/sync.c:1172:35: error: invalid use of undefined type 'struct
directory_entry'
 1172 |         memcpy( p, (char *)(entry + 1) + entry->name_len,
entry->type_len );
      |                                   ^
make: *** [Makefile:92807: dlls/ntdll/unix/sync.o] Error 1

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list