Maarten Lankhorst : winmm: Clean up MMDRV_Init.
Alexandre Julliard
julliard at winehq.org
Thu Apr 1 11:25:04 CDT 2010
Module: wine
Branch: master
Commit: d368aefdbe382978d06f6fbe59b7acabda1948f7
URL: http://source.winehq.org/git/wine.git/?a=commit;h=d368aefdbe382978d06f6fbe59b7acabda1948f7
Author: Maarten Lankhorst <m.b.lankhorst at gmail.com>
Date: Wed Mar 31 20:33:45 2010 +0200
winmm: Clean up MMDRV_Init.
---
dlls/winmm/lolvldrv.c | 27 ++++++++++++---------------
dlls/winmm/winemm.h | 4 ----
2 files changed, 12 insertions(+), 19 deletions(-)
diff --git a/dlls/winmm/lolvldrv.c b/dlls/winmm/lolvldrv.c
index fd173ff..c0640a7 100644
--- a/dlls/winmm/lolvldrv.c
+++ b/dlls/winmm/lolvldrv.c
@@ -36,6 +36,9 @@
WINE_DEFAULT_DEBUG_CHANNEL(winmm);
+/* Default set of drivers to be loaded */
+#define WINE_DEFAULT_WINMM_DRIVER "alsa,oss,coreaudio,esd"
+
/* each known type of driver has an instance of this structure */
typedef struct tagWINE_LLTYPE {
/* those attributes depend on the specification of the type */
@@ -535,38 +538,32 @@ static void MMDRV_Init(void)
{
HKEY hKey;
char driver_buffer[256];
- char mapper_buffer[256];
- char midi_buffer[256];
- char* p;
- DWORD type, size;
- BOOL ret = FALSE;
+ char *p, *next;
TRACE("()\n");
strcpy(driver_buffer, WINE_DEFAULT_WINMM_DRIVER);
- strcpy(mapper_buffer, WINE_DEFAULT_WINMM_MAPPER);
- strcpy(midi_buffer, WINE_DEFAULT_WINMM_MIDI);
/* @@ Wine registry key: HKCU\Software\Wine\Drivers */
if (!RegOpenKeyA(HKEY_CURRENT_USER, "Software\\Wine\\Drivers", &hKey))
{
- size = sizeof(driver_buffer);
- if (RegQueryValueExA(hKey, "Audio", 0, &type, (LPVOID)driver_buffer, &size))
+ DWORD size = sizeof(driver_buffer);
+ if (RegQueryValueExA(hKey, "Audio", 0, NULL, (BYTE*)driver_buffer, &size))
strcpy(driver_buffer, WINE_DEFAULT_WINMM_DRIVER);
}
- p = driver_buffer;
- while (p)
+ for (p = driver_buffer; p; p = next)
{
char filename[sizeof(driver_buffer)+10];
- char *next = strchr(p, ',');
+ next = strchr(p, ',');
if (next) *next++ = 0;
sprintf( filename, "wine%s.drv", p );
- if ((ret = MMDRV_Install( filename, filename, FALSE ))) break;
+ if (MMDRV_Install(filename, filename, FALSE))
+ break;
p = next;
}
- ret |= MMDRV_Install("wavemapper", WINE_DEFAULT_WINMM_MAPPER, TRUE);
- ret |= MMDRV_Install("midimapper", WINE_DEFAULT_WINMM_MIDI, TRUE);
+ MMDRV_Install("wavemapper", "msacm32.drv", TRUE);
+ MMDRV_Install("midimapper", "midimap.dll", TRUE);
}
/******************************************************************
diff --git a/dlls/winmm/winemm.h b/dlls/winmm/winemm.h
index 45a4233..c0551d3 100644
--- a/dlls/winmm/winemm.h
+++ b/dlls/winmm/winemm.h
@@ -25,10 +25,6 @@
#include "winbase.h"
#include "mmddk.h"
-#define WINE_DEFAULT_WINMM_DRIVER "alsa,oss,coreaudio,esd"
-#define WINE_DEFAULT_WINMM_MAPPER "msacm32.drv"
-#define WINE_DEFAULT_WINMM_MIDI "midimap.dll"
-
/* Who said goofy boy ? */
#define WINE_DI_MAGIC 0x900F1B01
More information about the wine-cvs
mailing list