mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-02-21 00:07:36 +08:00
Cygwin: fhandler_netdrive: improve debug output
Add debug output for errors when calling WNet functions. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
parent
a92d69d743
commit
f03222f242
@ -630,6 +630,7 @@ LoadDLLfunc (LdapMapErrorToWin32, 0, wldap32)
|
||||
|
||||
LoadDLLfunc (WNetCloseEnum, 4, mpr)
|
||||
LoadDLLfunc (WNetEnumResourceW, 16, mpr)
|
||||
LoadDLLfunc (WNetGetLastErrorW, 20, mpr)
|
||||
LoadDLLfunc (WNetGetProviderNameW, 12, mpr)
|
||||
LoadDLLfunc (WNetGetResourceInformationW, 16, mpr)
|
||||
LoadDLLfunc (WNetOpenEnumW, 20, mpr)
|
||||
|
@ -42,6 +42,27 @@ struct net_hdls
|
||||
HANDLE dom;
|
||||
};
|
||||
|
||||
static void
|
||||
wnet_dbg_out (const char *func, DWORD ndi_ret)
|
||||
{
|
||||
DWORD gle_ret;
|
||||
DWORD error;
|
||||
WCHAR errorbuf[MAX_PATH];
|
||||
WCHAR namebuf[MAX_PATH];
|
||||
|
||||
if (ndi_ret != ERROR_EXTENDED_ERROR)
|
||||
{
|
||||
debug_printf ("%s failed: %u", func, ndi_ret);
|
||||
return;
|
||||
}
|
||||
gle_ret = WNetGetLastErrorW (&error, errorbuf, MAX_PATH, namebuf, MAX_PATH);
|
||||
if (gle_ret == NO_ERROR)
|
||||
debug_printf ("%s failed: %u --> %u from '%W': '%W'",
|
||||
func, ndi_ret, error, namebuf, errorbuf);
|
||||
else
|
||||
debug_printf ("WNetGetLastError failed: %u", gle_ret);
|
||||
}
|
||||
|
||||
static DWORD WINAPI
|
||||
thread_netdrive (void *arg)
|
||||
{
|
||||
@ -61,7 +82,10 @@ thread_netdrive (void *arg)
|
||||
ndi->ret = WNetGetProviderNameW (WNNC_NET_LANMAN, provider,
|
||||
(size = 256, &size));
|
||||
if (ndi->ret != NO_ERROR)
|
||||
break;
|
||||
{
|
||||
wnet_dbg_out ("WNetGetProviderNameW", ndi->ret);
|
||||
break;
|
||||
}
|
||||
memset (nro, 0, sizeof *nro);
|
||||
nro->dwScope = RESOURCE_GLOBALNET;
|
||||
nro->dwType = RESOURCETYPE_ANY;
|
||||
@ -72,7 +96,10 @@ thread_netdrive (void *arg)
|
||||
ndi->ret = WNetOpenEnumW (RESOURCE_GLOBALNET, RESOURCETYPE_DISK,
|
||||
RESOURCEUSAGE_ALL, nro, &nh->net);
|
||||
if (ndi->ret != NO_ERROR)
|
||||
break;
|
||||
{
|
||||
wnet_dbg_out ("WNetOpenEnumW", ndi->ret);
|
||||
break;
|
||||
}
|
||||
while ((ndi->ret = WNetEnumResourceW (nh->net, (cnt = 1, &cnt), nro,
|
||||
(size = NT_MAX_PATH, &size)))
|
||||
== NO_ERROR)
|
||||
@ -89,13 +116,19 @@ thread_netdrive (void *arg)
|
||||
ndi->ret = WNetGetProviderNameW (WNNC_NET_LANMAN, provider,
|
||||
(size = 256, &size));
|
||||
if (ndi->ret != NO_ERROR)
|
||||
break;
|
||||
{
|
||||
wnet_dbg_out ("WNetGetProviderNameW", ndi->ret);
|
||||
break;
|
||||
}
|
||||
((LPNETRESOURCEW) ndi->in)->lpProvider = provider;
|
||||
ndi->ret = WNetGetResourceInformationW ((LPNETRESOURCEW) ndi->in, nro,
|
||||
(size = NT_MAX_PATH, &size),
|
||||
&dummy);
|
||||
if (ndi->ret != NO_ERROR)
|
||||
break;
|
||||
{
|
||||
wnet_dbg_out ("WNetGetResourceInformationW", ndi->ret);
|
||||
break;
|
||||
}
|
||||
ndi->ret = WNetOpenEnumW (RESOURCE_GLOBALNET, RESOURCETYPE_DISK,
|
||||
RESOURCEUSAGE_ALL, nro, &nh->dom);
|
||||
break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user