Signed-off-by: Huw Davies huw@codeweavers.com --- dlls/winecoreaudio.drv/Makefile.in | 2 -- dlls/winecoreaudio.drv/midi.c | 6 +----- dlls/winecoreaudio.drv/mmdevdrv.c | 25 ++++++++++--------------- 3 files changed, 11 insertions(+), 22 deletions(-)
diff --git a/dlls/winecoreaudio.drv/Makefile.in b/dlls/winecoreaudio.drv/Makefile.in index 8162eae67d7..4be396c489c 100644 --- a/dlls/winecoreaudio.drv/Makefile.in +++ b/dlls/winecoreaudio.drv/Makefile.in @@ -4,8 +4,6 @@ IMPORTS = uuid ole32 user32 advapi32 DELAYIMPORTS = winmm EXTRALIBS = $(COREAUDIO_LIBS)
-EXTRADLLFLAGS = -mcygwin - C_SRCS = \ coreaudio.c \ coremidi.c \ diff --git a/dlls/winecoreaudio.drv/midi.c b/dlls/winecoreaudio.drv/midi.c index 6191885553a..6c6752c0c76 100644 --- a/dlls/winecoreaudio.drv/midi.c +++ b/dlls/winecoreaudio.drv/midi.c @@ -21,23 +21,19 @@ * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ - -#include "config.h" -#include "wine/port.h" - #include <string.h> #include <stdarg.h> #include <stdio.h>
#include "windef.h" #include "winbase.h" +#include "winternl.h" #include "wingdi.h" #include "winuser.h" #include "winnls.h" #include "mmddk.h" #include "mmdeviceapi.h" #include "audioclient.h" -#include "wine/unicode.h" #include "wine/debug.h" #include "wine/unixlib.h" #include "coreaudio.h" diff --git a/dlls/winecoreaudio.drv/mmdevdrv.c b/dlls/winecoreaudio.drv/mmdevdrv.c index b4cf325c9d2..128396fbe29 100644 --- a/dlls/winecoreaudio.drv/mmdevdrv.c +++ b/dlls/winecoreaudio.drv/mmdevdrv.c @@ -21,11 +21,11 @@
#include "windef.h" #include "winbase.h" +#include "winternl.h" #include "winnls.h" #include "winreg.h" #include "wine/debug.h" #include "wine/heap.h" -#include "wine/unicode.h" #include "wine/list.h" #include "wine/unixlib.h"
@@ -126,10 +126,7 @@ typedef struct _SessionMgr { IMMDevice *device; } SessionMgr;
-static const WCHAR drv_key_devicesW[] = {'S','o','f','t','w','a','r','e','\', - 'W','i','n','e','\','D','r','i','v','e','r','s','\', - 'w','i','n','e','c','o','r','e','a','u','d','i','o','.','d','r','v','\','d','e','v','i','c','e','s',0}; -static const WCHAR guidW[] = {'g','u','i','d',0}; +static const WCHAR *drv_key_devicesW = L"Software\Wine\Drivers\winecoreaudio.drv\devices";
static HANDLE g_timer_q;
@@ -253,7 +250,7 @@ static void set_device_guid(EDataFlow flow, HKEY drv_key, const WCHAR *key_name, goto exit; }
- lr = RegSetValueExW(key, guidW, 0, REG_BINARY, (BYTE*)guid, + lr = RegSetValueExW(key, L"guid", 0, REG_BINARY, (BYTE*)guid, sizeof(GUID)); if(lr != ERROR_SUCCESS) ERR("RegSetValueEx(%s\guid) failed: %u\n", wine_dbgstr_w(key_name), lr); @@ -270,19 +267,17 @@ static void get_device_guid(EDataFlow flow, DWORD device_id, GUID *guid) DWORD type, size = sizeof(*guid); WCHAR key_name[256];
- static const WCHAR key_fmt[] = {'%','u',0}; - if(flow == eCapture) key_name[0] = '1'; else key_name[0] = '0'; key_name[1] = ',';
- sprintfW(key_name + 2, key_fmt, device_id); + swprintf(key_name + 2, ARRAY_SIZE(key_name), L"%u", device_id);
if(RegOpenKeyExW(HKEY_CURRENT_USER, drv_key_devicesW, 0, KEY_WRITE|KEY_READ, &key) == ERROR_SUCCESS){ if(RegOpenKeyExW(key, key_name, 0, KEY_READ, &dev_key) == ERROR_SUCCESS){ - if(RegQueryValueExW(dev_key, guidW, 0, &type, + if(RegQueryValueExW(dev_key, L"guid", 0, &type, (BYTE*)guid, &size) == ERROR_SUCCESS){ if(type == REG_BINARY){ RegCloseKey(dev_key); @@ -322,8 +317,8 @@ HRESULT WINAPI AUDDRV_GetEndpointIDs(EDataFlow flow, WCHAR ***ids_out, { struct get_endpoint_ids_params params; unsigned int i; - GUID *guids; - WCHAR **ids; + GUID *guids = NULL; + WCHAR **ids = NULL;
TRACE("%d %p %p %p\n", flow, ids_out, num, def_index);
@@ -346,7 +341,7 @@ HRESULT WINAPI AUDDRV_GetEndpointIDs(EDataFlow flow, WCHAR ***ids_out, }
for(i = 0; i < params.num; i++){ - int size = (strlenW(params.endpoints[i].name) + 1) * sizeof(WCHAR); + int size = (wcslen(params.endpoints[i].name) + 1) * sizeof(WCHAR); ids[i] = heap_alloc(size); if(!ids[i]){ params.result = E_OUTOFMEMORY; @@ -402,7 +397,7 @@ static BOOL get_deviceid_by_guid(GUID *guid, DWORD *id, EDataFlow *flow) }
size = sizeof(reg_guid); - if(RegQueryValueExW(key, guidW, 0, &type, + if(RegQueryValueExW(key, L"guid", 0, &type, (BYTE*)®_guid, &size) == ERROR_SUCCESS){ if(IsEqualGUID(®_guid, guid)){ RegCloseKey(key); @@ -419,7 +414,7 @@ static BOOL get_deviceid_by_guid(GUID *guid, DWORD *id, EDataFlow *flow) return FALSE; }
- *id = strtoulW(key_name + 2, NULL, 10); + *id = wcstoul(key_name + 2, NULL, 10);
return TRUE; }
Signed-off-by: Andrew Eikum aeikum@codeweavers.com
On Tue, Nov 30, 2021 at 07:56:33AM +0000, Huw Davies wrote:
Signed-off-by: Huw Davies huw@codeweavers.com
dlls/winecoreaudio.drv/Makefile.in | 2 -- dlls/winecoreaudio.drv/midi.c | 6 +----- dlls/winecoreaudio.drv/mmdevdrv.c | 25 ++++++++++--------------- 3 files changed, 11 insertions(+), 22 deletions(-)
diff --git a/dlls/winecoreaudio.drv/Makefile.in b/dlls/winecoreaudio.drv/Makefile.in index 8162eae67d7..4be396c489c 100644 --- a/dlls/winecoreaudio.drv/Makefile.in +++ b/dlls/winecoreaudio.drv/Makefile.in @@ -4,8 +4,6 @@ IMPORTS = uuid ole32 user32 advapi32 DELAYIMPORTS = winmm EXTRALIBS = $(COREAUDIO_LIBS)
-EXTRADLLFLAGS = -mcygwin
C_SRCS = \ coreaudio.c \ coremidi.c \ diff --git a/dlls/winecoreaudio.drv/midi.c b/dlls/winecoreaudio.drv/midi.c index 6191885553a..6c6752c0c76 100644 --- a/dlls/winecoreaudio.drv/midi.c +++ b/dlls/winecoreaudio.drv/midi.c @@ -21,23 +21,19 @@
- License along with this library; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
-#include "config.h" -#include "wine/port.h"
#include <string.h> #include <stdarg.h> #include <stdio.h>
#include "windef.h" #include "winbase.h" +#include "winternl.h" #include "wingdi.h" #include "winuser.h" #include "winnls.h" #include "mmddk.h" #include "mmdeviceapi.h" #include "audioclient.h" -#include "wine/unicode.h" #include "wine/debug.h" #include "wine/unixlib.h" #include "coreaudio.h" diff --git a/dlls/winecoreaudio.drv/mmdevdrv.c b/dlls/winecoreaudio.drv/mmdevdrv.c index b4cf325c9d2..128396fbe29 100644 --- a/dlls/winecoreaudio.drv/mmdevdrv.c +++ b/dlls/winecoreaudio.drv/mmdevdrv.c @@ -21,11 +21,11 @@
#include "windef.h" #include "winbase.h" +#include "winternl.h" #include "winnls.h" #include "winreg.h" #include "wine/debug.h" #include "wine/heap.h" -#include "wine/unicode.h" #include "wine/list.h" #include "wine/unixlib.h"
@@ -126,10 +126,7 @@ typedef struct _SessionMgr { IMMDevice *device; } SessionMgr;
-static const WCHAR drv_key_devicesW[] = {'S','o','f','t','w','a','r','e','\',
- 'W','i','n','e','\','D','r','i','v','e','r','s','\',
- 'w','i','n','e','c','o','r','e','a','u','d','i','o','.','d','r','v','\','d','e','v','i','c','e','s',0};
-static const WCHAR guidW[] = {'g','u','i','d',0}; +static const WCHAR *drv_key_devicesW = L"Software\Wine\Drivers\winecoreaudio.drv\devices";
static HANDLE g_timer_q;
@@ -253,7 +250,7 @@ static void set_device_guid(EDataFlow flow, HKEY drv_key, const WCHAR *key_name, goto exit; }
- lr = RegSetValueExW(key, guidW, 0, REG_BINARY, (BYTE*)guid,
- lr = RegSetValueExW(key, L"guid", 0, REG_BINARY, (BYTE*)guid, sizeof(GUID)); if(lr != ERROR_SUCCESS) ERR("RegSetValueEx(%s\guid) failed: %u\n", wine_dbgstr_w(key_name), lr);
@@ -270,19 +267,17 @@ static void get_device_guid(EDataFlow flow, DWORD device_id, GUID *guid) DWORD type, size = sizeof(*guid); WCHAR key_name[256];
static const WCHAR key_fmt[] = {'%','u',0};
if(flow == eCapture) key_name[0] = '1'; else key_name[0] = '0'; key_name[1] = ',';
sprintfW(key_name + 2, key_fmt, device_id);
swprintf(key_name + 2, ARRAY_SIZE(key_name), L"%u", device_id);
if(RegOpenKeyExW(HKEY_CURRENT_USER, drv_key_devicesW, 0, KEY_WRITE|KEY_READ, &key) == ERROR_SUCCESS){ if(RegOpenKeyExW(key, key_name, 0, KEY_READ, &dev_key) == ERROR_SUCCESS){
if(RegQueryValueExW(dev_key, guidW, 0, &type,
if(RegQueryValueExW(dev_key, L"guid", 0, &type, (BYTE*)guid, &size) == ERROR_SUCCESS){ if(type == REG_BINARY){ RegCloseKey(dev_key);
@@ -322,8 +317,8 @@ HRESULT WINAPI AUDDRV_GetEndpointIDs(EDataFlow flow, WCHAR ***ids_out, { struct get_endpoint_ids_params params; unsigned int i;
- GUID *guids;
- WCHAR **ids;
GUID *guids = NULL;
WCHAR **ids = NULL;
TRACE("%d %p %p %p\n", flow, ids_out, num, def_index);
@@ -346,7 +341,7 @@ HRESULT WINAPI AUDDRV_GetEndpointIDs(EDataFlow flow, WCHAR ***ids_out, }
for(i = 0; i < params.num; i++){
int size = (strlenW(params.endpoints[i].name) + 1) * sizeof(WCHAR);
int size = (wcslen(params.endpoints[i].name) + 1) * sizeof(WCHAR); ids[i] = heap_alloc(size); if(!ids[i]){ params.result = E_OUTOFMEMORY;
@@ -402,7 +397,7 @@ static BOOL get_deviceid_by_guid(GUID *guid, DWORD *id, EDataFlow *flow) }
size = sizeof(reg_guid);
if(RegQueryValueExW(key, guidW, 0, &type,
if(RegQueryValueExW(key, L"guid", 0, &type, (BYTE*)®_guid, &size) == ERROR_SUCCESS){ if(IsEqualGUID(®_guid, guid)){ RegCloseKey(key);
@@ -419,7 +414,7 @@ static BOOL get_deviceid_by_guid(GUID *guid, DWORD *id, EDataFlow *flow) return FALSE; }
*id = strtoulW(key_name + 2, NULL, 10);
*id = wcstoul(key_name + 2, NULL, 10); return TRUE; }
-- 2.23.0