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