diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index f066974..2ebb7e1 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -18,7 +18,7 @@ jobs: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Print env run: | @@ -40,7 +40,7 @@ jobs: # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail run: ctest -C ${{env.BUILD_TYPE}} - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: unshieldv3.x86_64 path: ${{github.workspace}}/build/unshieldv3 diff --git a/.gitignore b/.gitignore index fe3b15e..8141bd4 100644 --- a/.gitignore +++ b/.gitignore @@ -108,3 +108,12 @@ Thumbs.db # Build directory # --------------- build/* + +# generated config +config.h + +# clangd cache +.cache/ + +# VScode IDE files +.vscode/ diff --git a/CMakeLists.txt b/CMakeLists.txt index 032700c..71e2f27 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -21,4 +21,7 @@ add_executable (unshieldv3 ISArchiveV3.cpp blast.c ) -install(TARGETS unshieldv3) + +target_link_libraries(unshieldv3) + +install(TARGETS unshieldv3) \ No newline at end of file diff --git a/ISArchiveV3.cpp b/ISArchiveV3.cpp index 7d20fcd..bb42e73 100644 --- a/ISArchiveV3.cpp +++ b/ISArchiveV3.cpp @@ -17,6 +17,8 @@ limitations under the License. #include "ISArchiveV3.h" #include #include +#include +#include #include #include #include @@ -112,8 +114,10 @@ std::tm ISArchiveV3::File::tm() const { std::filesystem::path ISArchiveV3::File::path() const { std::string fp = full_path; + // windows paths are wchar_t, convert + char pref_seperator = fs::path::preferred_separator; std::replace(fp.begin(), fp.end(), - '\\', fs::path::preferred_separator); + '\\', pref_seperator); return std::filesystem::path(fp); } diff --git a/main.cpp b/main.cpp index 58792a7..3c32241 100644 --- a/main.cpp +++ b/main.cpp @@ -46,7 +46,7 @@ void info(const ISArchiveV3& archive) { } } -void list(const ISArchiveV3& archive, bool verbose = false) { +void list_archive(const ISArchiveV3& archive, bool verbose = false) { size_t max_path = 0; if (verbose) { for (auto& f : archive.files()) { @@ -166,7 +166,7 @@ int cmd_list(deque subargs) { return 1; } ISArchiveV3 archive(apath); - list(archive, verbose); + list_archive(archive, verbose); return 0; }