Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 771ba0c0 authored by Spencer Low's avatar Spencer Low
Browse files

adb: win32: fix Unicode console output

commandline.cpp includes commandline.h which defines
StandardStreamsCallbackInterface which calls fwrite(). In the
compilation unit for commandline.cpp, fwrite is getting remapped to
adb_fwrite (good), but the compilation unit for bugreport.cpp includes
sysdeps.h pretty late, which prevents fwrite from getting remapped to
adb_fwrite.

Apparently when linking, the version of StandardStreamsCallbackInterface
that gets used is the one from bugreport.cpp's compilation unit, which
doesn't call adb_fwrite().

And it's necessary to call adb_fwrite() to get Unicode console output on
Windows.

The fix is to #include "sysdeps.h" earlier in bugreport.cpp. I searched
the other object files for other unremapped calls to printf/fwrite/etc.
and didn't find any.

Bug: https://issuetracker.google.com/issues/111972753


Test: mma, manual test on Windows 10 x64

Change-Id: I322dff75a878397f5e10227e746e77b0024129d0
Signed-off-by: default avatarSpencer Low <CompareAndSwap@gmail.com>
parent d0d7d0a6
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

#define TRACE_TAG ADB

#include "sysdeps.h"

#include "bugreport.h"

#include <string>
@@ -24,8 +26,6 @@
#include <android-base/file.h>
#include <android-base/strings.h>

#include "sysdeps.h"

#include "adb_utils.h"
#include "client/file_sync_client.h"