To: [email protected]
Subject: Patch 7.2b.019 (extra)
Fcc: outbox
From: Bram Moolenaar <[email protected]>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------

Patch 7.2b.019 (extra)
Problem:    Win32: Various compiler warnings.
Solution:   Use __w64 attribute.  Comment-out unused parameters.  Adjust a few
           #ifdefs. (George Reilly)
Files:      src/gui_w48.c, src/GvimExt/gvimext.cpp, src/Make_mvc.mak,
           src/os_mswin.c, src/os_win32.c, src/vim.h


*** ../vim-7.2b.018/src/gui_w48.c       Mon Dec  3 22:20:40 2007
--- src/gui_w48.c       Thu Jul 24 15:06:07 2008
***************
*** 3154,3165 ****
           idc = MAKEINTRESOURCE(IDC_ARROW);
       else
           idc = mshape_idcs[shape];
! #ifdef _WIN64
!       SetClassLongPtr(s_textArea, GCLP_HCURSOR, (LONG_PTR)LoadCursor(NULL, idc));
 #else
 # ifdef WIN32
!       SetClassLong(s_textArea, GCL_HCURSOR, (LONG)LoadCursor(NULL, idc));
! # else
       SetClassWord(s_textArea, GCW_HCURSOR, (WORD)LoadCursor(NULL, idc));
 # endif
 #endif
--- 3154,3165 ----
           idc = MAKEINTRESOURCE(IDC_ARROW);
       else
           idc = mshape_idcs[shape];
! #ifdef SetClassLongPtr
!       SetClassLongPtr(s_textArea, GCLP_HCURSOR, (__int3264)(LONG_PTR)LoadCursor(NULL, idc));
 #else
 # ifdef WIN32
!       SetClassLong(s_textArea, GCL_HCURSOR, (long_u)LoadCursor(NULL, idc));
! # else /* Win16 */
       SetClassWord(s_textArea, GCW_HCURSOR, (WORD)LoadCursor(NULL, idc));
 # endif
 #endif
*** ../vim-7.2b.018/src/GvimExt/gvimext.cpp     Sat Aug 18 17:00:42 2007
--- src/GvimExt/gvimext.cpp     Thu Jul 24 15:06:07 2008
***************
*** 205,217 ****
 }

     static char *
! null_libintl_bindtextdomain(const char *domainname, const char *dirname)
 {
     return NULL;
 }

     static char *
! null_libintl_textdomain(const char* domainname)
 {
     return NULL;
 }
--- 205,217 ----
 }

     static char *
! null_libintl_bindtextdomain(const char * /* domainname */, const char * /* dirname */)
 {
     return NULL;
 }

     static char *
! null_libintl_textdomain(const char*  /* domainname */)
 {
     return NULL;
 }
***************
*** 308,314 ****
 // DllMain
 //---------------------------------------------------------------------------
 extern "C" int APIENTRY
! DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
 {
     switch (dwReason)
     {
--- 308,314 ----
 // DllMain
 //---------------------------------------------------------------------------
 extern "C" int APIENTRY
! DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID  /* lpReserved */)
 {
     switch (dwReason)
     {
***************
*** 438,444 ****
 }


! STDMETHODIMP CShellExtClassFactory::LockServer(BOOL fLock)
 {
     return NOERROR;
 }
--- 438,444 ----
 }


! STDMETHODIMP CShellExtClassFactory::LockServer(BOOL  /* fLock */)
 {
     return NOERROR;
 }
***************
*** 520,528 ****
 //            It could be a context menu or a property sheet.
 //

! STDMETHODIMP CShellExt::Initialize(LPCITEMIDLIST pIDFolder,
                                  LPDATAOBJECT pDataObj,
!                                  HKEY hRegKey)
 {
     // Initialize can be called more than once
     if (m_pDataObj)
--- 520,528 ----
 //            It could be a context menu or a property sheet.
 //

! STDMETHODIMP CShellExt::Initialize(LPCITEMIDLIST  /* pIDFolder */,
                                  LPDATAOBJECT pDataObj,
!                                  HKEY  /* hRegKey */)
 {
     // Initialize can be called more than once
     if (m_pDataObj)
***************
*** 562,569 ****
 STDMETHODIMP CShellExt::QueryContextMenu(HMENU hMenu,
                                        UINT indexMenu,
                                        UINT idCmdFirst,
!                                        UINT idCmdLast,
!                                        UINT uFlags)
 {
     UINT idCmd = idCmdFirst;

--- 562,569 ----
 STDMETHODIMP CShellExt::QueryContextMenu(HMENU hMenu,
                                        UINT indexMenu,
                                        UINT idCmdFirst,
!                                        UINT  /* idCmdLast */,
!                                        UINT  /* uFlags */)
 {
     UINT idCmd = idCmdFirst;

***************
*** 718,728 ****
     return hr;
 }

! STDMETHODIMP CShellExt::PushToWindow(HWND hParent,
!                                  LPCSTR pszWorkingDir,
!                                  LPCSTR pszCmd,
!                                  LPCSTR pszParam,
!                                  int iShowCmd,
                                  int idHWnd)
 {
     HWND hWnd = m_hWnd[idHWnd];
--- 718,728 ----
     return hr;
 }

! STDMETHODIMP CShellExt::PushToWindow(HWND  /* hParent */,
!                                  LPCSTR  /* pszWorkingDir */,
!                                  LPCSTR  /* pszCmd */,
!                                  LPCSTR  /* pszParam */,
!                                  int  /* iShowCmd */,
                                  int idHWnd)
 {
     HWND hWnd = m_hWnd[idHWnd];
***************
*** 740,748 ****
     return NOERROR;
 }

! STDMETHODIMP CShellExt::GetCommandString(UINT_PTR idCmd,
                                        UINT uFlags,
!                                        UINT FAR *reserved,
                                        LPSTR pszName,
                                        UINT cchMax)
 {
--- 740,748 ----
     return NOERROR;
 }

! STDMETHODIMP CShellExt::GetCommandString(UINT_PTR  /* idCmd */,
                                        UINT uFlags,
!                                        UINT FAR * /* reserved */,
                                        LPSTR pszName,
                                        UINT cchMax)
 {
***************
*** 841,850 ****
 #endif

 STDMETHODIMP CShellExt::InvokeGvim(HWND hParent,
!                                  LPCSTR pszWorkingDir,
!                                  LPCSTR pszCmd,
!                                  LPCSTR pszParam,
!                                  int iShowCmd)
 {
     char m_szFileUserClickedOn[BUFSIZE];
     char cmdStr[BUFSIZE];
--- 841,850 ----
 #endif

 STDMETHODIMP CShellExt::InvokeGvim(HWND hParent,
!                                  LPCSTR  /* pszWorkingDir */,
!                                  LPCSTR  /* pszCmd */,
!                                  LPCSTR  /* pszParam */,
!                                  int  /* iShowCmd */)
 {
     char m_szFileUserClickedOn[BUFSIZE];
     char cmdStr[BUFSIZE];
***************
*** 911,920 ****


 STDMETHODIMP CShellExt::InvokeSingleGvim(HWND hParent,
!                                  LPCSTR pszWorkingDir,
!                                  LPCSTR pszCmd,
!                                  LPCSTR pszParam,
!                                  int iShowCmd,
                                  int useDiff)
 {
     char      m_szFileUserClickedOn[BUFSIZE];
--- 911,920 ----


 STDMETHODIMP CShellExt::InvokeSingleGvim(HWND hParent,
!                                  LPCSTR  /* pszWorkingDir */,
!                                  LPCSTR  /* pszCmd */,
!                                  LPCSTR  /* pszParam */,
!                                  int  /* iShowCmd */,
                                  int useDiff)
 {
     char      m_szFileUserClickedOn[BUFSIZE];
*** ../vim-7.2b.018/src/Make_mvc.mak    Sun Jul 13 19:15:09 2008
--- src/Make_mvc.mak    Thu Jul 24 15:06:07 2008
***************
*** 207,215 ****

 !include <Win32.mak>

! # Turn on Win64 compatibility warnings for 32-bit compiler in VC8. (/Wp64 is
! # deprecated in VC9.)
! !if ("$(MSVCVER)" == "8.0")
 DEFINES=$(DEFINES) /Wp64
 !endif

--- 207,215 ----

 !include <Win32.mak>

! # Turn on Win64 compatibility warnings for VC7.x and VC8.
! # (/Wp64 is deprecated in VC9 and generates an obnoxious warning.)
! !if ("$(MSVCVER)" == "7.0") || ("$(MSVCVER)" == "7.1") || ("$(MSVCVER)" == "8.0")
 DEFINES=$(DEFINES) /Wp64
 !endif

*** ../vim-7.2b.018/src/os_mswin.c      Tue Jun 24 23:42:46 2008
--- src/os_mswin.c      Thu Jul 24 15:19:19 2008
***************
*** 1729,1735 ****
 }

 /*ARGSUSED*/
!     static BOOL CALLBACK
 PrintDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
 {
 #ifdef FEAT_GETTEXT
--- 1729,1735 ----
 }

 /*ARGSUSED*/
!     static INT_PTR CALLBACK
 PrintDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
 {
 #ifdef FEAT_GETTEXT
***************
*** 2125,2132 ****
       char_u  *port_name = (char_u *)devname +devname->wOutputOffset;
       char_u  *text = _("to %s on %s");

!       prt_name = alloc(STRLEN(printer_name) + STRLEN(port_name)
!                                                             + STRLEN(text));
       if (prt_name != NULL)
           wsprintf(prt_name, text, printer_name, port_name);
     }
--- 2125,2132 ----
       char_u  *port_name = (char_u *)devname +devname->wOutputOffset;
       char_u  *text = _("to %s on %s");

!       prt_name = alloc((unsigned)(STRLEN(printer_name) + STRLEN(port_name)
!                                                            + STRLEN(text)));
       if (prt_name != NULL)
           wsprintf(prt_name, text, printer_name, port_name);
     }
*** ../vim-7.2b.018/src/os_win32.c      Tue Jun 24 22:54:14 2008
--- src/os_win32.c      Thu Jul 24 15:06:07 2008
***************
*** 4663,4669 ****
 # endif
        )
     {
! # if defined(DEBUG) && _MSC_VER > 1200
       /* Work around an annoying assertion in the Microsoft debug CRT
        * when mode's text/binary setting doesn't match _get_fmode(). */
       char newMode = mode[strlen(mode) - 1];
--- 4663,4669 ----
 # endif
        )
     {
! # if defined(DEBUG) && _MSC_VER >= 1400
       /* Work around an annoying assertion in the Microsoft debug CRT
        * when mode's text/binary setting doesn't match _get_fmode(). */
       char newMode = mode[strlen(mode) - 1];
***************
*** 4682,4688 ****
       vim_free(wn);
       vim_free(wm);

! # if defined(DEBUG) && _MSC_VER > 1200
       _set_fmode(oldMode);
 # endif

--- 4682,4688 ----
       vim_free(wn);
       vim_free(wm);

! # if defined(DEBUG) && _MSC_VER >= 1400
       _set_fmode(oldMode);
 # endif

*** ../vim-7.2b.018/src/vim.h   Sun Jul 13 19:15:26 2008
--- src/vim.h   Thu Jul 24 15:06:07 2008
***************
*** 352,359 ****
 typedef unsigned short        short_u;
 typedef unsigned int  int_u;
 /* Make sure long_u is big enough to hold a pointer.
!  * On Win64 longs are 32 bit and pointers 64 bit.
!  * For printf() and scanf() we need to take care of long_u specifically. */
 #ifdef _WIN64
 typedef unsigned __int64        long_u;
 typedef                __int64        long_i;
--- 352,359 ----
 typedef unsigned short        short_u;
 typedef unsigned int  int_u;
 /* Make sure long_u is big enough to hold a pointer.
!  * On Win64, longs are 32 bits and pointers are 64 bits.
!  * For printf() and scanf(), we need to take care of long_u specifically. */
 #ifdef _WIN64
 typedef unsigned __int64        long_u;
 typedef                __int64        long_i;
***************
*** 361,368 ****
 # define SCANF_DECIMAL_LONG_U   "%Iu"
 # define PRINTF_HEX_LONG_U      "0x%Ix"
 #else
! typedef unsigned long         long_u;
! typedef                long           long_i;
 # define SCANF_HEX_LONG_U       "%lx"
 # define SCANF_DECIMAL_LONG_U   "%lu"
 # define PRINTF_HEX_LONG_U      "0x%lx"
--- 361,376 ----
 # define SCANF_DECIMAL_LONG_U   "%Iu"
 # define PRINTF_HEX_LONG_U      "0x%Ix"
 #else
!   /* Microsoft-specific. The __w64 keyword should be specified on any typedefs
!    * that change size between 32-bit and 64-bit platforms.  For any such type,
!    * __w64 should appear only on the 32-bit definition of the typedef.
!    * Define __w64 as an empty token for everything but MSVC 7.x or later.
!    */
! # if !defined(_MSC_VER)       || (_MSC_VER < 1300)
! #  define __w64
! # endif
! typedef unsigned long __w64   long_u;
! typedef                long __w64     long_i;
 # define SCANF_HEX_LONG_U       "%lx"
 # define SCANF_DECIMAL_LONG_U   "%lu"
 # define PRINTF_HEX_LONG_U      "0x%lx"
*** ../vim-7.2b.018/src/version.c       Thu Jul 24 20:28:25 2008
--- src/version.c       Thu Jul 24 20:46:49 2008
***************
*** 678,679 ****
--- 678,681 ----
 {   /* Add new patch number below this line */
+ /**/
+     19,
 /**/

--
Futility Factor: No experiment is ever a complete failure - it can always
serve as a negative example.

/// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\        download, build and distribute -- http://www.A-A-P.org        ///
\\\            help me help AIDS victims -- http://ICCF-Holland.org    ///