summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-07-30 21:50:11 +0200
committerwm4 <wm4@nowhere>2015-07-30 21:50:11 +0200
commitfefac2c941149fb49bcb5126060be74494d0c287 (patch)
tree9835f45627a3c3bbb18f8e037ed0ff5ea24606a8
parentc8fab7cc7b98af8da0bf734dbdb1a3efc5db977e (diff)
downloadmpv-fefac2c941149fb49bcb5126060be74494d0c287.tar.bz2
mpv-fefac2c941149fb49bcb5126060be74494d0c287.tar.xz
win32: more wchar_t -> WCHAR replacements
This was essentially missing from commit 0b52ac8a. Since L"..." string literals have the type wchar_t[], we can't use them for UTF-16 strings. Use C11 u"..." string literals instead. These have the type char16_t[], but we simply assume char16_t is the same underlying type as WCHAR. In practice, they're both unsigned short. For this reason use -std=c11 on Windows. Since Windows is a "special" environment (we require either MinGW or Cygwin), we don't need to worry too much about compiler compatibility.
-rw-r--r--audio/out/ao_dsound.c2
-rwxr-xr-xaudio/out/ao_wasapi_changenotify.c8
-rwxr-xr-xaudio/out/ao_wasapi_utils.c8
-rw-r--r--osdep/subprocess-win.c2
-rw-r--r--stream/stream_file.c2
-rw-r--r--video/decode/dxva2.c4
-rw-r--r--video/out/gl_w32.c4
-rw-r--r--video/out/w32_common.c4
-rw-r--r--waftools/detections/compiler.py1
9 files changed, 18 insertions, 17 deletions
diff --git a/audio/out/ao_dsound.c b/audio/out/ao_dsound.c
index 3e950c3bab..6aae40ce53 100644
--- a/audio/out/ao_dsound.c
+++ b/audio/out/ao_dsound.c
@@ -227,7 +227,7 @@ static int LoadDirectSound(struct ao *ao)
struct priv *p = ao->priv;
// initialize directsound
- p->hdsound_dll = LoadLibrary(L"DSOUND.DLL");
+ p->hdsound_dll = LoadLibraryW(u"DSOUND.DLL");
if (p->hdsound_dll == NULL) {
MP_ERR(ao, "cannot load DSOUND.DLL\n");
return 0;
diff --git a/audio/out/ao_wasapi_changenotify.c b/audio/out/ao_wasapi_changenotify.c
index 1521578b19..41a93f6593 100755
--- a/audio/out/ao_wasapi_changenotify.c
+++ b/audio/out/ao_wasapi_changenotify.c
@@ -67,7 +67,7 @@ static HRESULT STDMETHODCALLTYPE sIMMNotificationClient_OnDeviceStateChanged(
if (change->is_hotplug) {
MP_VERBOSE(ao, "OnDeviceStateChanged triggered: sending hotplug event\n");
ao_hotplug_event(ao);
- } else if (pwstrDeviceId && !wcscmp(pwstrDeviceId, change->monitored)) {
+ } else if (pwstrDeviceId && !lstrcmpW(pwstrDeviceId, change->monitored)) {
switch (dwNewState) {
case DEVICE_STATE_DISABLED:
case DEVICE_STATE_NOTPRESENT:
@@ -110,7 +110,7 @@ static HRESULT STDMETHODCALLTYPE sIMMNotificationClient_OnDeviceRemoved(
if (change->is_hotplug) {
MP_VERBOSE(ao, "OnDeviceRemoved triggered: sending hotplug event\n");
ao_hotplug_event(ao);
- } else if (pwstrDeviceId && !wcscmp(pwstrDeviceId, change->monitored)) {
+ } else if (pwstrDeviceId && !lstrcmpW(pwstrDeviceId, change->monitored)) {
MP_VERBOSE(ao, "OnDeviceRemoved triggered for device %S: "
"requesting ao reload\n", pwstrDeviceId);
ao_request_reload(ao);
@@ -144,7 +144,7 @@ static HRESULT STDMETHODCALLTYPE sIMMNotificationClient_OnDefaultDeviceChanged(
}
/* don't reload if already on the new default */
- if (pwstrDeviceId && !wcscmp(pwstrDeviceId, change->monitored)) {
+ if (pwstrDeviceId && !lstrcmpW(pwstrDeviceId, change->monitored)) {
MP_VERBOSE(ao, "OnDefaultDeviceChanged triggered: "
"already using default device, no reload required\n");
return S_OK;
@@ -167,7 +167,7 @@ static HRESULT STDMETHODCALLTYPE sIMMNotificationClient_OnPropertyValueChanged(
struct ao *ao = change->ao;
if (!change->is_hotplug && pwstrDeviceId &&
- !wcscmp(pwstrDeviceId, change->monitored))
+ !lstrcmpW(pwstrDeviceId, change->monitored))
{
MP_VERBOSE(ao, "OnPropertyValueChanged triggered on device %S\n",
pwstrDeviceId);
diff --git a/audio/out/ao_wasapi_utils.c b/audio/out/ao_wasapi_utils.c
index 8410d0fcf5..fdd0048ae1 100755
--- a/audio/out/ao_wasapi_utils.c
+++ b/audio/out/ao_wasapi_utils.c
@@ -34,7 +34,7 @@
#include "osdep/io.h"
#include "osdep/timer.h"
-#define MIXER_DEFAULT_LABEL L"mpv - video player"
+#define MIXER_DEFAULT_LABEL u"mpv - video player"
DEFINE_PROPERTYKEY(mp_PKEY_Device_FriendlyName,
0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20,
@@ -190,7 +190,7 @@ bool wasapi_fill_VistaBlob(wasapi_state *state)
{
if (!state)
goto exit_label;
- state->VistaBlob.hAvrt = LoadLibraryW(L"avrt.dll");
+ state->VistaBlob.hAvrt = LoadLibraryW(u"avrt.dll");
if (!state->VistaBlob.hAvrt)
goto exit_label;
@@ -620,7 +620,7 @@ static HRESULT init_session_display(struct wasapi_state *state) {
EXIT_ON_ERROR(hr);
GetModuleFileNameW(NULL, path, MAX_PATH);
- lstrcatW(path, L",-IDI_ICON1");
+ lstrcatW(path, u",-IDI_ICON1");
hr = IAudioSessionControl_SetDisplayName(state->pSessionControl, MIXER_DEFAULT_LABEL, NULL);
EXIT_ON_ERROR(hr);
@@ -725,7 +725,7 @@ reinit:
if (state->VistaBlob.hAvrt) {
state->hTask =
- state->VistaBlob.pAvSetMmThreadCharacteristicsW(L"Pro Audio", &state->taskIndex);
+ state->VistaBlob.pAvSetMmThreadCharacteristicsW(u"Pro Audio", &state->taskIndex);
}
MP_VERBOSE(state, "Format fixed. Using %lld byte buffer block size\n",
diff --git a/osdep/subprocess-win.c b/osdep/subprocess-win.c
index 3f0330958b..9e61262e8e 100644
--- a/osdep/subprocess-win.c
+++ b/osdep/subprocess-win.c
@@ -112,7 +112,7 @@ static int create_overlapped_pipe(HANDLE *read, HANDLE *write)
unsigned long id = atomic_fetch_add(&counter, 1);
unsigned pid = GetCurrentProcessId();
wchar_t buf[36];
- swprintf(buf, sizeof(buf), L"\\\\.\\pipe\\mpv-anon-%08x-%08lx", pid, id);
+ swprintf(buf, sizeof(buf), u"\\\\.\\pipe\\mpv-anon-%08x-%08lx", pid, id);
// The function for creating anonymous pipes (CreatePipe) can't create
// overlapped pipes, so instead, use a named pipe with a unique name
diff --git a/stream/stream_file.c b/stream/stream_file.c
index 527261edd7..114b1d4eb8 100644
--- a/stream/stream_file.c
+++ b/stream/stream_file.c
@@ -198,7 +198,7 @@ static bool check_stream_network(int fd)
// NtQueryVolumeInformationFile is an internal Windows function. It has
// been present since Windows XP, however this code should fail gracefully
// if it's removed from a future version of Windows.
- HMODULE ntdll = GetModuleHandleW(L"ntdll.dll");
+ HMODULE ntdll = GetModuleHandleW(u"ntdll.dll");
pNtQueryVolumeInformationFile = (NTSTATUS (NTAPI*)(HANDLE,
PIO_STATUS_BLOCK, PVOID, ULONG, FS_INFORMATION_CLASS))
GetProcAddress(ntdll, "NtQueryVolumeInformationFile");
diff --git a/video/decode/dxva2.c b/video/decode/dxva2.c
index c87093812c..d207aa504b 100644
--- a/video/decode/dxva2.c
+++ b/video/decode/dxva2.c
@@ -355,7 +355,7 @@ static int create_device(struct lavc_ctx *s)
}
}
- ctx->d3dlib = LoadLibrary(L"d3d9.dll");
+ ctx->d3dlib = LoadLibraryW(u"d3d9.dll");
if (!ctx->d3dlib) {
MP_ERR(ctx, "Failed to load D3D9 library\n");
goto fail;
@@ -423,7 +423,7 @@ static int dxva2_init(struct lavc_ctx *s)
ctx->deviceHandle = INVALID_HANDLE_VALUE;
- ctx->dxva2lib = LoadLibrary(L"dxva2.dll");
+ ctx->dxva2lib = LoadLibraryW(u"dxva2.dll");
if (!ctx->dxva2lib) {
MP_ERR(ctx, "Failed to load DXVA2 library\n");
goto fail;
diff --git a/video/out/gl_w32.c b/video/out/gl_w32.c
index 87f98f117e..68df3397c1 100644
--- a/video/out/gl_w32.c
+++ b/video/out/gl_w32.c
@@ -84,7 +84,7 @@ static void *w32gpa(const GLubyte *procName)
void *res = wglGetProcAddress(procName);
if (res)
return res;
- oglmod = GetModuleHandle(L"opengl32.dll");
+ oglmod = GetModuleHandleW(u"opengl32.dll");
return GetProcAddress(oglmod, procName);
}
@@ -208,7 +208,7 @@ static void create_ctx(void *ptr)
if (!w32_ctx->context)
create_context_w32_old(ctx);
- w32_ctx->dwmapi_dll = LoadLibrary(L"Dwmapi.dll");
+ w32_ctx->dwmapi_dll = LoadLibraryW(u"Dwmapi.dll");
if (w32_ctx->dwmapi_dll)
w32_ctx->dwmflush = (DwmFlush_t)GetProcAddress(w32_ctx->dwmapi_dll, "DwmFlush");
diff --git a/video/out/w32_common.c b/video/out/w32_common.c
index e9b01d5401..02e7064b59 100644
--- a/video/out/w32_common.c
+++ b/video/out/w32_common.c
@@ -42,7 +42,7 @@
#include "misc/rendezvous.h"
#include "talloc.h"
-static const WCHAR classname[] = L"mpv";
+static const WCHAR classname[] = u"mpv";
static __thread struct vo_w32_state *w32_thread_context;
@@ -1129,7 +1129,7 @@ static void *gui_thread(void *ptr)
.style = CS_HREDRAW | CS_VREDRAW,
.lpfnWndProc = WndProc,
.hInstance = hInstance,
- .hIcon = LoadIconW(hInstance, L"IDI_ICON1"),
+ .hIcon = LoadIconW(hInstance, u"IDI_ICON1"),
.hCursor = LoadCursor(NULL, IDC_ARROW),
.lpszClassName = classname,
};
diff --git a/waftools/detections/compiler.py b/waftools/detections/compiler.py
index d3e6b34455..29b90127f0 100644
--- a/waftools/detections/compiler.py
+++ b/waftools/detections/compiler.py
@@ -51,6 +51,7 @@ def __add_clang_flags__(ctx):
def __add_mswin_flags__(ctx):
ctx.env.CFLAGS += ['-D_WIN32_WINNT=0x600', '-DUNICODE', '-DCOBJMACROS',
'-U__STRICT_ANSI__']
+ ctx.env.CFLAGS += ['-std=c11']
def __add_mingw_flags__(ctx):
__add_mswin_flags__(ctx)