summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/ardour/video_tools_paths.cc1
-rw-r--r--libs/pbd/system_exec.cc4
2 files changed, 3 insertions, 2 deletions
diff --git a/libs/ardour/video_tools_paths.cc b/libs/ardour/video_tools_paths.cc
index 7107323de9..2021018829 100644
--- a/libs/ardour/video_tools_paths.cc
+++ b/libs/ardour/video_tools_paths.cc
@@ -29,6 +29,7 @@
#include "pbd/file_utils.h"
+#include <glibmm/convert.h>
#include <glibmm/miscutils.h>
#include <glibmm/fileutils.h>
diff --git a/libs/pbd/system_exec.cc b/libs/pbd/system_exec.cc
index ed36c507ff..cc5d8d99fe 100644
--- a/libs/pbd/system_exec.cc
+++ b/libs/pbd/system_exec.cc
@@ -601,7 +601,7 @@ SystemExec::write_to_stdin(const void* data, size_t bytes)
c=0;
while (c < bytes) {
- if (!WriteFile(stdinP[1], data+c, bytes-c, &r, NULL)) {
+ if (!WriteFile(stdinP[1], &((const char*)data)[c], bytes - c, &r, NULL)) {
if (GetLastError() == 0xE8 /*NT_STATUS_INVALID_USER_BUFFER*/) {
Sleep(100);
continue;
@@ -965,7 +965,7 @@ SystemExec::write_to_stdin(const void* data, size_t bytes)
c=0;
while (c < bytes) {
for (;;) {
- r=::write(pin[1], data+c, bytes-c);
+ r = ::write(pin[1], &((const char*)data)[c], bytes - c);
if (r < 0 && (errno == EINTR || errno == EAGAIN)) {
sleep(1);
continue;