From f3468be92b90f8d4b3069a0bc6e8b30d04a686cd Mon Sep 17 00:00:00 2001 From: Arseny Kapoulkine Date: Tue, 9 Nov 2021 15:11:52 -0800 Subject: [PATCH] Small follow code cleanup for Repl.cpp --- CLI/Repl.cpp | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/CLI/Repl.cpp b/CLI/Repl.cpp index a5bd573..1c5305a 100644 --- a/CLI/Repl.cpp +++ b/CLI/Repl.cpp @@ -14,8 +14,8 @@ #include #ifdef _WIN32 - #include - #include +#include +#include #endif enum class CompileFormat @@ -404,12 +404,7 @@ static bool compileFile(const char* name, CompileFormat format) printf("%s", bcb.dumpEverything().c_str()); break; case CompileFormat::Binary: - #ifdef _WIN32 - _setmode(_fileno(stdout), _O_BINARY); - #endif - - std::string Bytecode = bcb.getBytecode(); - fwrite(Bytecode.c_str(), 1, Bytecode.size(), stdout); + fwrite(bcb.getBytecode().data(), 1, bcb.getBytecode().size(), stdout); break; } @@ -470,13 +465,16 @@ int main(int argc, char** argv) if (argc >= 2 && strncmp(argv[1], "--compile", strlen("--compile")) == 0) - { + { CompileFormat format = CompileFormat::Default; - if (strcmp(argv[1], "--compile=binary") == 0) - { + if (strcmp(argv[1], "--compile=binary") == 0) format = CompileFormat::Binary; - } + +#ifdef _WIN32 + if (format == CompileFormat::Binary) + _setmode(_fileno(stdout), _O_BINARY); +#endif int failed = 0; @@ -488,7 +486,9 @@ int main(int argc, char** argv) if (isDirectory(argv[i])) { traverseDirectory(argv[i], [&](const std::string& name) { - if (name.length() > 4 && name.rfind(".lua") == name.length() - 4) + if (name.length() > 5 && name.rfind(".luau") == name.length() - 5) + failed += !compileFile(name.c_str(), format); + else if (name.length() > 4 && name.rfind(".lua") == name.length() - 4) failed += !compileFile(name.c_str(), format); }); }