Replace SendMessage16 by SendMessageW where possible.

diff --git a/windows/dialog.c b/windows/dialog.c
index e76ab26..7b863e6 100644
--- a/windows/dialog.c
+++ b/windows/dialog.c
@@ -2186,8 +2186,7 @@
  * Helper function for DlgDirSelect*
  */
 static BOOL DIALOG_DlgDirSelect( HWND hwnd, LPSTR str, INT len,
-                                   INT id, BOOL win32, BOOL unicode,
-                                   BOOL combo )
+                                 INT id, BOOL unicode, BOOL combo )
 {
     char *buffer, *ptr;
     INT item, size;
@@ -2196,33 +2195,15 @@
 
     TRACE("%04x '%s' %d\n", hwnd, str, id );
     if (!listbox) return FALSE;
-    if (win32)
-    {
-        item = SendMessageA(listbox, combo ? CB_GETCURSEL
-                                             : LB_GETCURSEL, 0, 0 );
-        if (item == LB_ERR) return FALSE;
-        size = SendMessageA(listbox, combo ? CB_GETLBTEXTLEN
-                                             : LB_GETTEXTLEN, 0, 0 );
-        if (size == LB_ERR) return FALSE;
-    }
-    else
-    {
-        item = SendMessageA(listbox, combo ? CB_GETCURSEL16
-                                             : LB_GETCURSEL16, 0, 0 );
-        if (item == LB_ERR) return FALSE;
-        size = SendMessageA(listbox, combo ? CB_GETLBTEXTLEN16
-                                             : LB_GETTEXTLEN16, 0, 0 );
-        if (size == LB_ERR) return FALSE;
-    }
 
-    if (!(buffer = SEGPTR_ALLOC( size+1 ))) return FALSE;
+    item = SendMessageA(listbox, combo ? CB_GETCURSEL : LB_GETCURSEL, 0, 0 );
+    if (item == LB_ERR) return FALSE;
+    size = SendMessageA(listbox, combo ? CB_GETLBTEXTLEN : LB_GETTEXTLEN, 0, 0 );
+    if (size == LB_ERR) return FALSE;
 
-    if (win32)
-        SendMessageA( listbox, combo ? CB_GETLBTEXT : LB_GETTEXT,
-                        item, (LPARAM)buffer );
-    else
-        SendMessage16( listbox, combo ? CB_GETLBTEXT16 : LB_GETTEXT16,
-                       item, (LPARAM)SEGPTR_GET(buffer) );
+    if (!(buffer = HeapAlloc( GetProcessHeap(), 0, size+1 ))) return FALSE;
+
+    SendMessageA( listbox, combo ? CB_GETLBTEXT : LB_GETTEXT, item, (LPARAM)buffer );
 
     if ((ret = (buffer[0] == '[')))  /* drive or directory */
     {
@@ -2246,7 +2227,7 @@
             ((LPWSTR)str)[len-1] = 0;
     }
     else lstrcpynA( str, ptr, len );
-    SEGPTR_FREE( buffer );
+    HeapFree( GetProcessHeap(), 0, buffer );
     TRACE("Returning %d '%s'\n", ret, str );
     return ret;
 }
@@ -2383,7 +2364,7 @@
  */
 BOOL16 WINAPI DlgDirSelectEx16( HWND16 hwnd, LPSTR str, INT16 len, INT16 id )
 {
-    return DIALOG_DlgDirSelect( hwnd, str, len, id, FALSE, FALSE, FALSE );
+    return DlgDirSelectExA( hwnd, str, len, id );
 }
 
 
@@ -2392,7 +2373,7 @@
  */
 BOOL WINAPI DlgDirSelectExA( HWND hwnd, LPSTR str, INT len, INT id )
 {
-    return DIALOG_DlgDirSelect( hwnd, str, len, id, TRUE, FALSE, FALSE );
+    return DIALOG_DlgDirSelect( hwnd, str, len, id, FALSE, FALSE );
 }
 
 
@@ -2401,7 +2382,7 @@
  */
 BOOL WINAPI DlgDirSelectExW( HWND hwnd, LPWSTR str, INT len, INT id )
 {
-    return DIALOG_DlgDirSelect( hwnd, (LPSTR)str, len, id, TRUE, TRUE, FALSE );
+    return DIALOG_DlgDirSelect( hwnd, (LPSTR)str, len, id, TRUE, FALSE );
 }
 
 
@@ -2411,7 +2392,7 @@
 BOOL16 WINAPI DlgDirSelectComboBoxEx16( HWND16 hwnd, LPSTR str, INT16 len,
                                         INT16 id )
 {
-    return DIALOG_DlgDirSelect( hwnd, str, len, id, FALSE, FALSE, TRUE );
+    return DlgDirSelectComboBoxExA( hwnd, str, len, id );
 }
 
 
@@ -2421,7 +2402,7 @@
 BOOL WINAPI DlgDirSelectComboBoxExA( HWND hwnd, LPSTR str, INT len,
                                          INT id )
 {
-    return DIALOG_DlgDirSelect( hwnd, str, len, id, TRUE, FALSE, TRUE );
+    return DIALOG_DlgDirSelect( hwnd, str, len, id, FALSE, TRUE );
 }
 
 
@@ -2431,7 +2412,7 @@
 BOOL WINAPI DlgDirSelectComboBoxExW( HWND hwnd, LPWSTR str, INT len,
                                          INT id)
 {
-    return DIALOG_DlgDirSelect( hwnd, (LPSTR)str, len, id, TRUE, TRUE, TRUE );
+    return DIALOG_DlgDirSelect( hwnd, (LPSTR)str, len, id, TRUE, TRUE );
 }