Re: [advapi32] QueryServiceConfig2 (resend)
Stefan Leichter <Stefan.Leichter(a)camline.com> writes:
+#define MAP_STR(str) \ + do { \ + if (configW->str) \ + { \ + DWORD sz = WideCharToMultiByte( CP_ACP, 0, configW->str, -1, p, n, NULL, NULL ); \ + if (!sz) { \ + FIXME("WideCharToMultiByte failed for configW->%s\n", #str ); \ + ret = FALSE; \ + goto cleanup; \ + } \ + configA->str = p; \ + p += sz; \ + n -= sz; \ + } \ + else configA->str = NULL; \ + } while (0) + + switch(dwLevel) { + case SERVICE_CONFIG_DESCRIPTION: + { LPSERVICE_DESCRIPTIONA configA = (LPSERVICE_DESCRIPTIONA) buffer; + LPSERVICE_DESCRIPTIONW configW = (LPSERVICE_DESCRIPTIONW) bufferW; + p = (LPSTR)(configA + 1); + n = size - sizeof(SERVICE_DESCRIPTIONA); + MAP_STR(lpDescription); + }
That's ugly, please get rid of that macro. -- Alexandre Julliard julliard(a)winehq.org
participants (1)
-
Alexandre Julliard