mirror of
https://github.com/bkaradzic/bx.git
synced 2026-02-17 20:52:37 +01:00
Added debugOutput for crt0.
This commit is contained in:
@@ -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;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user