On Sat Apr 07, 2018 at 03:15:53PM +0200, Björn Ketelaars wrote:
> Diff below fixes p7zip (clang 6.0).
> 
> OK?
> 
> 
> Index: patches/patch-CPP_Windows_ErrorMsg_cpp
> ===================================================================
> RCS file: patches/patch-CPP_Windows_ErrorMsg_cpp
> diff -N patches/patch-CPP_Windows_ErrorMsg_cpp
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-CPP_Windows_ErrorMsg_cpp    7 Apr 2018 13:11:53 -0000
> @@ -0,0 +1,30 @@
> +$OpenBSD$
> +
> +Index: CPP/Windows/ErrorMsg.cpp
> +--- CPP/Windows/ErrorMsg.cpp.orig
> ++++ CPP/Windows/ErrorMsg.cpp
> +@@ -14,15 +14,15 @@ UString MyFormatMessage(DWORD errorCode)
> +   AString msg;
> + 
> +   switch(errorCode) {

Please use only:

switch(static_cast<int>(errorCode))

ok to that.

> +-    case ERROR_NO_MORE_FILES   : txt = "No more files"; break ;
> +-    case E_NOTIMPL             : txt = "E_NOTIMPL"; break ;
> +-    case E_NOINTERFACE         : txt = "E_NOINTERFACE"; break ;
> +-    case E_ABORT               : txt = "E_ABORT"; break ;
> +-    case E_FAIL                : txt = "E_FAIL"; break ;
> +-    case STG_E_INVALIDFUNCTION : txt = "STG_E_INVALIDFUNCTION"; break ;
> +-    case E_OUTOFMEMORY         : txt = "E_OUTOFMEMORY"; break ;
> +-    case E_INVALIDARG          : txt = "E_INVALIDARG"; break ;
> +-    case ERROR_DIRECTORY          : txt = "Error Directory"; break ;
> ++    case (DWORD)(ERROR_NO_MORE_FILES)   : txt = "No more files"; break ;
> ++    case (DWORD)(E_NOTIMPL)             : txt = "E_NOTIMPL"; break ;
> ++    case (DWORD)(E_NOINTERFACE)         : txt = "E_NOINTERFACE"; break ;
> ++    case (DWORD)(E_ABORT)               : txt = "E_ABORT"; break ;
> ++    case (DWORD)(E_FAIL)                : txt = "E_FAIL"; break ;
> ++    case (DWORD)(STG_E_INVALIDFUNCTION) : txt = "STG_E_INVALIDFUNCTION"; 
> break ;
> ++    case (DWORD)(E_OUTOFMEMORY)         : txt = "E_OUTOFMEMORY"; break ;
> ++    case (DWORD)(E_INVALIDARG)          : txt = "E_INVALIDARG"; break ;
> ++    case (DWORD)(ERROR_DIRECTORY)       : txt = "Error Directory"; break ;
> +     default:
> +       txt = strerror(errorCode);
> +   }
> 

Reply via email to