diff --git a/Example/CMakeLists.txt b/Example/CMakeLists.txt index 2d9574f0..6c52e4b8 100644 --- a/Example/CMakeLists.txt +++ b/Example/CMakeLists.txt @@ -1,11 +1,15 @@ +if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) cmake_minimum_required(VERSION 3.0) project(Example) +endif() include_directories(${ATHENA_INCLUDE_DIR}) add_executable(Example main.cpp) if(GEKKO) +include_directories(${LIBOGCDIR}/include) +link_directories(${LIGOGCDIR}/lib/wii) target_link_libraries(Example AthenaCore z wiiuse bte ogc m) else() #TODO: add normal link libraries diff --git a/src/Athena/FileInfo.cpp b/src/Athena/FileInfo.cpp index 10999ed9..eefe1248 100644 --- a/src/Athena/FileInfo.cpp +++ b/src/Athena/FileInfo.cpp @@ -172,24 +172,18 @@ bool FileInfo::touch() const #elif (defined(HW_RVL) || defined(HW_DOL)) && defined(GEKKO) // Generic portable version, not extremely reliable but does work atUint64 val = 0xCDCDCDCDCD; - try { Athena::io::FileReader reader(m_path.c_str()); - val = reader.readUint64(); - } - catch(...) - { + if (reader.isOpen()) + val = reader.readUint64(); } - try { Athena::io::FileWriter writer(m_path, false); - if (val != 0xCDCDCDCDCD) + if (val != 0xCDCDCDCDCD && writer.isOpen()) writer.writeUint64(val); - } - catch(...) - { - return false; + else if (!writer.isOpen()) + return false; } #endif