vlc | branch: master | Steve Lhomme <rob...@ycbcr.xyz> | Fri Apr  3 13:26:27 
2020 +0200| [079eb01b962620baaa8df78efe4a01ec086f9219] | committer: Steve Lhomme

contrib: flac: update the winstore fixes for 1.3.3

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=079eb01b962620baaa8df78efe4a01ec086f9219
---

 contrib/src/flac/console_write.patch  | 37 ++++++++++++++-----
 contrib/src/flac/no-createfilea.patch | 69 ++++++++++-------------------------
 2 files changed, 48 insertions(+), 58 deletions(-)

diff --git a/contrib/src/flac/console_write.patch 
b/contrib/src/flac/console_write.patch
index 8015fd4970..0a95534f10 100644
--- a/contrib/src/flac/console_write.patch
+++ b/contrib/src/flac/console_write.patch
@@ -1,5 +1,22 @@
---- flac.orig/src/share/win_utf8_io/win_utf8_io.c      2017-01-02 
18:07:08.794676209 -0500
-+++ flac/src/share/win_utf8_io/win_utf8_io.c   2017-01-02 18:10:16.633867994 
-0500
+From 9d6fbddfd031852f7c6d1a10aff9fa5ef690858b Mon Sep 17 00:00:00 2001
+From: Steve Lhomme <rob...@ycbcr.xyz>
+Date: Fri, 3 Apr 2020 13:33:26 +0200
+Subject: [PATCH 1/2] Don't call Console APIs on Winstore builds
+
+The API's are only available on desktop builds.
+https://docs.microsoft.com/en-us/windows/console/getstdhandle
+https://docs.microsoft.com/en-us/windows/console/getconsolescreenbufferinfo
+https://docs.microsoft.com/en-us/windows/console/writeconsole
+
+Instead send logs to the debug output
+---
+ src/share/win_utf8_io/win_utf8_io.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/src/share/win_utf8_io/win_utf8_io.c 
b/src/share/win_utf8_io/win_utf8_io.c
+index bbb6a74a..1e0c1e86 100644
+--- a/src/share/win_utf8_io/win_utf8_io.c
++++ b/src/share/win_utf8_io/win_utf8_io.c
 @@ -34,6 +34,7 @@
  #endif
  
@@ -8,7 +25,7 @@
  #include "share/win_utf8_io.h"
  #include "share/windows_unicode_filenames.h"
  
-@@ -164,11 +165,13 @@
+@@ -182,11 +183,13 @@ size_t strlen_utf8(const char *str)
  int win_get_console_width(void)
  {
        int width = 80;
@@ -22,23 +39,25 @@
        return width;
  }
  
-@@ -176,6 +179,11 @@
+@@ -194,6 +197,10 @@ int win_get_console_width(void)
  
  static int wprint_console(FILE *stream, const wchar_t *text, size_t len)
  {
-+#if !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
++#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
 +      (void)stream;
 +      OutputDebugStringW(text);
-+      return len;
 +#else
        DWORD out;
        int ret;
  
-@@ -202,6 +210,7 @@
+@@ -219,6 +226,7 @@ static int wprint_console(FILE *stream, const wchar_t 
*text, size_t len)
+       ret = fputws(text, stream);
        if (ret < 0)
                return ret;
-       return len;
 +#endif
+       return len;
  }
  
- int printf_utf8(const char *format, ...)
+-- 
+2.26.0.windows.1
+
diff --git a/contrib/src/flac/no-createfilea.patch 
b/contrib/src/flac/no-createfilea.patch
index b66f96d8e8..2831b0a79b 100644
--- a/contrib/src/flac/no-createfilea.patch
+++ b/contrib/src/flac/no-createfilea.patch
@@ -1,59 +1,30 @@
---- flac-orig/src/share/win_utf8_io/win_utf8_io.c      2019-08-26 
11:13:17.600801754 -0400
-+++ flac/src/share/win_utf8_io/win_utf8_io.c   2019-08-26 11:20:27.895132487 
-0400
-@@ -34,8 +34,10 @@
- #endif
- 
- #include <windows.h>
-+#include <winapifamily.h>
- #include "share/win_utf8_io.h"
- #include "share/windows_unicode_filenames.h"
-+#include <winapifamily.h>
- 
- #define UTF8_BUFFER_SIZE 32768
- 
-@@ -153,7 +155,11 @@
+From 11390430fbad4a0d5a70671f922bd374defc715b Mon Sep 17 00:00:00 2001
+From: Steve Lhomme <rob...@ycbcr.xyz>
+Date: Fri, 3 Apr 2020 13:25:14 +0200
+Subject: [PATCH 2/2] Don't call CreateFileA on Winstore builds
+
+The API is only available on desktop builds.
+https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilea
+---
+ src/share/win_utf8_io/win_utf8_io.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/share/win_utf8_io/win_utf8_io.c 
b/src/share/win_utf8_io/win_utf8_io.c
+index 1e0c1e86..e634efd9 100644
+--- a/src/share/win_utf8_io/win_utf8_io.c
++++ b/src/share/win_utf8_io/win_utf8_io.c
+@@ -154,7 +154,11 @@ int get_utf8_argv(int *argc, char ***argv)
  HANDLE WINAPI CreateFile_utf8(const char *lpFileName, DWORD dwDesiredAccess, 
DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD 
dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile)
  {
        if (!flac_internal_get_utf8_filenames()) {
 +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 
                return CreateFileA(lpFileName, dwDesiredAccess, dwShareMode, 
lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, 
hTemplateFile);
 +#else
-+        return INVALID_HANDLE_VALUE;
++              return INVALID_HANDLE_VALUE;
 +#endif
        } else {
                wchar_t *wname;
                HANDLE handle = INVALID_HANDLE_VALUE;
-@@ -182,11 +188,13 @@
- int win_get_console_width(void)
- {
-       int width = 80;
-+#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
-       CONSOLE_SCREEN_BUFFER_INFO csbi;
-       HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
-       if(hOut != INVALID_HANDLE_VALUE && hOut != NULL)
-               if (GetConsoleScreenBufferInfo(hOut, &csbi) != 0)
-                       width = csbi.dwSize.X;
-+#endif
-       return width;
- }
- 
-@@ -194,6 +202,11 @@
- 
- static int wprint_console(FILE *stream, const wchar_t *text, size_t len)
- {
-+#if !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
-+      (void)stream;
-+      OutputDebugStringW(text);
-+      return len;
-+#else
-       DWORD out;
-       int ret;
- 
-@@ -220,6 +233,7 @@
-       if (ret < 0)
-               return ret;
-       return len;
-+#endif
- }
- 
- int printf_utf8(const char *format, ...)
+-- 
+2.26.0.windows.1
+

_______________________________________________
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to