|
|
@@ -9,7 +9,9 @@
|
|
|
#include <bx/readerwriter.h> // WriterI
|
|
|
#include <inttypes.h> // PRIx*
|
|
|
|
|
|
-#if BX_PLATFORM_ANDROID
|
|
|
+#if BX_CRT_NONE
|
|
|
+# include "crt0.h"
|
|
|
+#elif BX_PLATFORM_ANDROID
|
|
|
# include <android/log.h>
|
|
|
#elif BX_PLATFORM_WINDOWS \
|
|
|
|| BX_PLATFORM_WINRT \
|
|
|
@@ -49,13 +51,15 @@ namespace bx
|
|
|
|
|
|
void debugOutput(const char* _out)
|
|
|
{
|
|
|
-#if BX_PLATFORM_ANDROID
|
|
|
+#if BX_CRT_NONE
|
|
|
+ crt0::debugOutput(_out);
|
|
|
+#elif BX_PLATFORM_ANDROID
|
|
|
# ifndef BX_ANDROID_LOG_TAG
|
|
|
# define BX_ANDROID_LOG_TAG ""
|
|
|
# endif // BX_ANDROID_LOG_TAG
|
|
|
__android_log_write(ANDROID_LOG_DEBUG, BX_ANDROID_LOG_TAG, _out);
|
|
|
#elif BX_PLATFORM_WINDOWS \
|
|
|
- || BX_PLATFORM_WINRT \
|
|
|
+ || BX_PLATFORM_WINRT \
|
|
|
|| BX_PLATFORM_XBOXONE
|
|
|
OutputDebugStringA(_out);
|
|
|
#elif BX_PLATFORM_IOS || BX_PLATFORM_OSX
|
|
|
@@ -66,14 +70,33 @@ namespace bx
|
|
|
# endif // defined(__OBJC__)
|
|
|
#elif 0 // BX_PLATFORM_EMSCRIPTEN
|
|
|
emscripten_log(EM_LOG_CONSOLE, "%s", _out);
|
|
|
-#elif !BX_CRT_NONE
|
|
|
+#else
|
|
|
fputs(_out, stdout);
|
|
|
fflush(stdout);
|
|
|
-#else
|
|
|
- BX_UNUSED(_out);
|
|
|
#endif // BX_PLATFORM_
|
|
|
}
|
|
|
|
|
|
+ void debugOutput(const StringView& _str)
|
|
|
+ {
|
|
|
+#if BX_CRT_NONE
|
|
|
+ crt0::debugOutput(_str);
|
|
|
+#else
|
|
|
+ const char* data = _str.getPtr();
|
|
|
+ int32_t size = _str.getLength();
|
|
|
+
|
|
|
+ char temp[4096];
|
|
|
+ while (0 != size)
|
|
|
+ {
|
|
|
+ uint32_t len = uint32_min(sizeof(temp)-1, size);
|
|
|
+ memCopy(temp, data, len);
|
|
|
+ temp[len] = '\0';
|
|
|
+ data += len;
|
|
|
+ size -= len;
|
|
|
+ debugOutput(temp);
|
|
|
+ }
|
|
|
+#endif // BX_CRT_NONE
|
|
|
+ }
|
|
|
+
|
|
|
void debugPrintfVargs(const char* _format, va_list _argList)
|
|
|
{
|
|
|
char temp[8192];
|
|
|
@@ -153,22 +176,8 @@ namespace bx
|
|
|
virtual int32_t write(const void* _data, int32_t _size, Error* _err) override
|
|
|
{
|
|
|
BX_UNUSED(_err);
|
|
|
-
|
|
|
- int32_t total = 0;
|
|
|
- const char* data = (const char*)_data;
|
|
|
-
|
|
|
- char temp[4096];
|
|
|
- while (total != _size)
|
|
|
- {
|
|
|
- uint32_t len = bx::uint32_min(sizeof(temp)-1, _size-total);
|
|
|
- memCopy(temp, data, len);
|
|
|
- temp[len] = '\0';
|
|
|
- data += len;
|
|
|
- total += len;
|
|
|
- debugOutput(temp);
|
|
|
- }
|
|
|
-
|
|
|
- return total;
|
|
|
+ debugOutput(StringView( (const char*)_data, _size) );
|
|
|
+ return _size;
|
|
|
}
|
|
|
};
|
|
|
|