Maintain lower cased file names in the Wine config directory.

diff --git a/files/profile.c b/files/profile.c
index 1ade178..660079f 100644
--- a/files/profile.c
+++ b/files/profile.c
@@ -565,7 +565,7 @@
     if (!(unix_name = CurProfile->unix_name) || !(file = fopen(unix_name, "w")))
     {
         int drive = toupperW(CurProfile->dos_name[0]) - 'A';
-        WCHAR *name;
+        WCHAR *name, *name_lwr;
         /* Try to create it in $HOME/.wine */
         /* FIXME: this will need a more general solution */
         strcpy( buffer, wine_get_config_dir() );
@@ -573,8 +573,15 @@
         *p++ = '/';
         *p = 0; /* make strlen() below happy */
         name = strrchrW( CurProfile->dos_name, '\\' ) + 1;
-        WideCharToMultiByte(DRIVE_GetCodepage(drive), 0, name, -1,
+
+        /* create a lower cased version of the name */
+        name_lwr = HeapAlloc(GetProcessHeap(), 0, (strlenW(name) + 1) * sizeof(WCHAR));
+        strcpyW(name_lwr, name);
+        strlwrW(name_lwr);
+        WideCharToMultiByte(DRIVE_GetCodepage(drive), 0, name_lwr, -1,
                             p, sizeof(buffer) - strlen(buffer), NULL, NULL);
+        HeapFree(GetProcessHeap(), 0, name_lwr);
+
         file = fopen( buffer, "w" );
         unix_name = buffer;
     }
@@ -626,7 +633,7 @@
     DOS_FULL_NAME full_name;
     char buffer[MAX_PATHNAME_LEN];
     WCHAR *newdos_name;
-    WCHAR *name;
+    WCHAR *name, *name_lwr;
     char *p;
     FILE *file = NULL;
     int i,j;
@@ -717,8 +724,15 @@
     *p++ = '/';
     *p = 0; /* make strlen() below happy */
     name = strrchrW( newdos_name, '\\' ) + 1;
-    WideCharToMultiByte(DRIVE_GetCodepage(full_name.drive), 0, name, -1,
+
+    /* create a lower cased version of the name */
+    name_lwr = HeapAlloc(GetProcessHeap(), 0, (strlenW(name) + 1) * sizeof(WCHAR));
+    strcpyW(name_lwr, name);
+    strlwrW(name_lwr);
+    WideCharToMultiByte(DRIVE_GetCodepage(full_name.drive), 0, name_lwr, -1,
                         p, sizeof(buffer) - strlen(buffer), NULL, NULL);
+    HeapFree(GetProcessHeap(), 0, name_lwr);
+
     if ((file = fopen( buffer, "r" )))
     {
         TRACE("(%s): found it in %s\n", debugstr_w(filename), buffer );