diff --git a/CMakeLists.txt b/CMakeLists.txt index cda112f..6cf792d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -135,6 +135,14 @@ if(WITH_GUI) target_compile_definitions(palera1n PRIVATE WITH_GUI) endif() +if(WITH_TUI) + target_compile_definitions(palera1n PRIVATE WITH_TUI) +endif() + +if(WITH_ARTIFACTS) + target_compile_definitions(palera1n PRIVATE WITH_ARTIFACTS) +endif() + target_link_libraries(palera1n PRIVATE nlohmann_json::nlohmann_json) target_link_libraries(palera1n PRIVATE lz4_static) diff --git a/src/main.cpp b/src/main.cpp index 32b9821..fcd5151 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -264,8 +264,14 @@ void parse_arguments(int argc, char* argv[]) { } } - if (!(palerain_flags & palerain_option_gui)) { - if (!(palerain_flags & palerain_option_rootful) && !(palerain_flags & palerain_option_rootless)) { + if (!(palerain_flags & palerain_option_gui) && + !(palerain_flags & palerain_option_tui)) + { + + if (!(palerain_flags & palerain_option_rootful) && + !(palerain_flags & palerain_option_rootless)) + { + LOG_ERROR("You must specify either -l, --rootless or -f, --rootful.\n"); print_usage(argv[0]); exit(1); @@ -277,7 +283,6 @@ int main(int argc, char* argv[], char* envp[]) { print_credits(); parse_arguments(argc, argv); LOG("palera1n_flags: %llu", palerain_flags); - shared_t state{}; #ifdef WITH_GUI if (palerain_flags & palerain_option_gui) { @@ -287,10 +292,15 @@ int main(int argc, char* argv[], char* envp[]) { wxTheApp->OnExit(); wxEntryCleanup(); return 0; + } else if (palerain_flags & palerain_option_tui) { + LOG_WARN("TUI is not implemented yet"); + exit(1); } else { + shared_t state{}; return exploit(&state); } #else + shared_t state{}; return exploit(&state); #endif diff --git a/src/tui/.gitkeep b/src/tui/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/utils.c b/src/utils.c index 7400740..6d035e6 100644 --- a/src/utils.c +++ b/src/utils.c @@ -26,7 +26,7 @@ static const char* level_name(log_level_t level) { switch (level) { case LOG_INFO: return "INFO"; case LOG_SUCCESS: return "SUCCESS"; - case LOG_WARN: return "WARN"; + case LOG_WARN: return "WARNING"; case LOG_ERROR: return "ERROR"; case LOG_VERBOSE: return "VERBOSE"; default: return "LOG";