From 6d17fe38a41354fec933574081c9b9a12c767f23 Mon Sep 17 00:00:00 2001 From: AnotherTest Date: Sun, 5 Jul 2020 19:27:37 +0430 Subject: [PATCH] Shell: Do not treat the absence of an init script as an error --- Shell/Shell.cpp | 5 +++-- Shell/Shell.h | 2 +- Shell/main.cpp | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Shell/Shell.cpp b/Shell/Shell.cpp index 063d335725..8b00e04f25 100644 --- a/Shell/Shell.cpp +++ b/Shell/Shell.cpp @@ -499,11 +499,12 @@ RefPtr Shell::run_command(AST::Command& command) return *job; } -bool Shell::run_file(const String& filename) +bool Shell::run_file(const String& filename, bool explicitly_invoked) { auto file_result = Core::File::open(filename, Core::File::ReadOnly); if (file_result.is_error()) { - fprintf(stderr, "Failed to open %s: %s\n", filename.characters(), file_result.error().characters()); + if (explicitly_invoked) + fprintf(stderr, "Failed to open %s: %s\n", filename.characters(), file_result.error().characters()); return false; } auto file = file_result.value(); diff --git a/Shell/Shell.h b/Shell/Shell.h index 5e9afbb968..dba1525e0e 100644 --- a/Shell/Shell.h +++ b/Shell/Shell.h @@ -73,7 +73,7 @@ public: int run_command(const StringView&); RefPtr run_command(AST::Command&); - bool run_file(const String&); + bool run_file(const String&, bool explicitly_invoked = true); bool run_builtin(int argc, const char** argv, int& retval); bool has_builtin(const StringView&) const; void block_on_job(RefPtr); diff --git a/Shell/main.cpp b/Shell/main.cpp index bf98f0e720..743bab0d4d 100644 --- a/Shell/main.cpp +++ b/Shell/main.cpp @@ -146,8 +146,8 @@ int main(int argc, char** argv) String file_path = Shell::init_file_path; if (file_path.starts_with('~')) file_path = shell->expand_tilde(file_path); - if (!shell->run_file(file_path)) { - fprintf(stderr, "Shell: Failed to execute init file '%s'\n", Shell::init_file_path); + if (Core::File::exists(file_path)) { + shell->run_file(file_path, false); } }