Fix Windows and Mac Builds
authorRobin Gareus <robin@gareus.org>
Mon, 19 Nov 2018 11:50:38 +0000 (12:50 +0100)
committerRobin Gareus <robin@gareus.org>
Mon, 19 Nov 2018 11:54:07 +0000 (12:54 +0100)
* missing include for locale_to_utf8 (amend 4c6ff5f7e7)
* avoid void* arithemtic (amend 103ef2ba)

libs/ardour/video_tools_paths.cc
libs/pbd/system_exec.cc

index 7107323de945c293c265f8317a76077320ac52eb..2021018829c3ae596a73a6b5d915bf63245131c8 100644 (file)
@@ -29,6 +29,7 @@
 
 #include "pbd/file_utils.h"
 
+#include <glibmm/convert.h>
 #include <glibmm/miscutils.h>
 #include <glibmm/fileutils.h>
 
index ed36c507ff49bbe4a0273a06de33eb51f2e642c1..cc5d8d99fef132c9b5ec10b145c98ad0101e7a45 100644 (file)
@@ -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;