From 88d482dcb3683aca3996fd2ec36e4cc455b8b7b0 Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Sun, 1 Nov 2026 15:26:46 -0500 Subject: [PATCH] Move input file / output file out of RenderParams --- src/fart/Cli.cpp | 6 +++--- src/fart/Cli.h | 2 ++ src/fart/Engine.cpp | 2 +- src/fart/Engine.h | 2 +- src/fart/RenderParams.h | 3 --- src/fart/common.h | 4 ++++ src/fart/main.cpp | 2 +- 7 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/fart/Cli.cpp b/src/fart/Cli.cpp index 2a5bf9c..e7a924a 100644 --- a/src/fart/Cli.cpp +++ b/src/fart/Cli.cpp @@ -128,12 +128,12 @@ int Cli::run(int argc, char * argv[]) } else { - if (this->params.input_file != "") + if (!this->input_file.empty()) { fprintf(stderr, "Extraneous argument: %s\n", argv[i]); return 2; } - this->params.input_file = argv[i]; + this->input_file = argv[i]; } } return 0; @@ -190,7 +190,7 @@ int Cli::handle_option(size_t flag_idx, const char * arg_value) case flag_output: case flag_output_l: - this->params.output_file = arg_value; + this->output_file = arg_value; return 0; case flag_width: diff --git a/src/fart/Cli.h b/src/fart/Cli.h index c1723d2..ec31c24 100644 --- a/src/fart/Cli.h +++ b/src/fart/Cli.h @@ -6,6 +6,8 @@ class Cli { public: RenderParams params; + string_view input_file; + opt output_file; int run(int argc, char * argv[]); diff --git a/src/fart/Engine.cpp b/src/fart/Engine.cpp index 85cdcf2..49405e2 100644 --- a/src/fart/Engine.cpp +++ b/src/fart/Engine.cpp @@ -5,7 +5,7 @@ Engine::Engine(const RenderParams & params) { } -int Engine::run() +int Engine::run(string_view input_file, opt output_file) { return 0; } diff --git a/src/fart/Engine.h b/src/fart/Engine.h index 41021ab..a394f06 100644 --- a/src/fart/Engine.h +++ b/src/fart/Engine.h @@ -6,7 +6,7 @@ class Engine { public: Engine(const RenderParams & params); - int run(); + int run(string_view input_file, opt output_file); protected: RenderParams params; diff --git a/src/fart/RenderParams.h b/src/fart/RenderParams.h index 1514147..5ef69bd 100644 --- a/src/fart/RenderParams.h +++ b/src/fart/RenderParams.h @@ -1,12 +1,9 @@ #pragma once #include -#include struct RenderParams { - string input_file; - string output_file; size_t width = 0u; size_t height = 0u; }; diff --git a/src/fart/common.h b/src/fart/common.h index 0f6142b..f947d2f 100644 --- a/src/fart/common.h +++ b/src/fart/common.h @@ -1,5 +1,9 @@ #pragma once +#include #include +#include using string = std::string; +using string_view = std::string_view; +template using opt = std::optional; diff --git a/src/fart/main.cpp b/src/fart/main.cpp index 21573e5..97e9ccd 100644 --- a/src/fart/main.cpp +++ b/src/fart/main.cpp @@ -11,5 +11,5 @@ int main(int argc, char * argv[]) return rc - 1; } Engine engine(cli.params); - return engine.run(); + return engine.run(cli.input_file, cli.output_file); }