[PATCH v2] mpr: Implement WNetClearConnections().
Dmitry Timoshkov
dmitry at baikal.ru
Thu Sep 13 01:29:35 CDT 2018
Pierre Schweitzer <pierre at reactos.org> wrote:
> + size = 0x1000;
> + resources = HeapAlloc(GetProcessHeap(), 0, size);
> + if (!resources)
> + {
> + WNetCloseEnum(connected);
> + return WN_OUT_OF_MEMORY;
> + }
> +
> + do
> + {
> + size = 0x1000;
> + count = -1;
There is no need to initialize count, you are not verifying it anyway
after the API call.
> +
> + memset(resources, 0, size);
> + ret = WNetEnumResourceW(connected, &count, resources, &size);
> + if (ret == WN_SUCCESS || ret == WN_MORE_DATA)
> + {
> + iter = resources;
> + for (; count; count--)
> + {
> + WNetCancelConnection2W(iter->lpLocalName, 0, TRUE);
> +
> + iter++;
> + }
> + }
> + else
> + break;
> + } while (ret != WN_NO_MORE_ENTRIES);
Since you are using an arbitrary size for NETRESOURCEW array it should be
possible to avoid dynamic heap allocation by using a fixed size array of
NETRESOURCEW structures (say 16), or even a single item. That would simplify
the code.
--
Dmitry.
More information about the wine-devel
mailing list