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) {
+-    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