diff --git a/samples/gx2/triangle/CMakeLists.txt b/samples/gx2/triangle/CMakeLists.txt index 8ef4b233..a86a9fd7 100644 --- a/samples/gx2/triangle/CMakeLists.txt +++ b/samples/gx2/triangle/CMakeLists.txt @@ -11,4 +11,6 @@ target_link_libraries(triangle defaultheap gx2 gfd - proc_ui) + nsysnet + proc_ui + sysapp) diff --git a/samples/gx2/triangle/src/main.c b/samples/gx2/triangle/src/main.c index c93277ec..02deaee7 100644 --- a/samples/gx2/triangle/src/main.c +++ b/samples/gx2/triangle/src/main.c @@ -113,7 +113,7 @@ exit: WHBLogPrintf("Exiting..."); GX2RDestroyBufferEx(&positionBuffer, 0); GX2RDestroyBufferEx(&colourBuffer, 0); - //WHBUnmountSdCard(); !! freezes on unmount for unkown reason !! + WHBUnmountSdCard(); WHBGfxShutdown(); WHBProcShutdown(); return result; diff --git a/src/crt/newlib.c b/src/crt/newlib.c index 339b4edb..5b124288 100644 --- a/src/crt/newlib.c +++ b/src/crt/newlib.c @@ -70,7 +70,7 @@ static int __libwut_lock_close(int *lock) static int __libwut_lock_acquire(int *lock) { - OSMutex *mutex = (OSMutex *)lock; + OSMutex *mutex = (OSMutex *)*lock; if (!lock || *lock == 0) { return -1; } @@ -81,7 +81,7 @@ static int __libwut_lock_acquire(int *lock) static int __libwut_lock_release(int *lock) { - OSMutex *mutex = (OSMutex *)lock; + OSMutex *mutex = (OSMutex *)*lock; if (!lock || *lock == 0) { return -1; } diff --git a/src/libwhb/include/whb/log_cafe.h b/src/libwhb/include/whb/log_cafe.h new file mode 100644 index 00000000..bc405155 --- /dev/null +++ b/src/libwhb/include/whb/log_cafe.h @@ -0,0 +1,21 @@ +#pragma once +#include + +/** + * \defgroup whb_log_cafe Cafe OS System Log Output + * \ingroup whb + * @{ + */ + +#ifdef __cplusplus +extern "C" { +#endif + +BOOL +WHBLogCafeInit(); + +#ifdef __cplusplus +} +#endif + +/** @} */ diff --git a/src/libwhb/src/log_cafe.c b/src/libwhb/src/log_cafe.c new file mode 100644 index 00000000..a1367d32 --- /dev/null +++ b/src/libwhb/src/log_cafe.c @@ -0,0 +1,15 @@ +#include +#include + +static void +cafeLogHandler(const char * msg) +{ + OSReport("%s\n", msg); +} + +BOOL +WHBLogCafeInit() +{ + WHBAddLogHandler(cafeLogHandler); + return TRUE; +} diff --git a/src/libwhb/src/sdcard.c b/src/libwhb/src/sdcard.c index 3e2e1290..83dfe523 100644 --- a/src/libwhb/src/sdcard.c +++ b/src/libwhb/src/sdcard.c @@ -67,6 +67,8 @@ WHBUnmountSdCard() return TRUE; } + FSInitCmdBlock(&cmd); + result = FSUnmount(&sClient, &cmd, sMountPath, -1); if (result < 0) { WHBLogPrintf("%s: FSUnmount error %d", __FUNCTION__, result);