Fix aos cli autocomplete config check

ReadConfig does the work of finding the config path, so it shouldn't be
assumed to be in the current directory.

Signed-off-by: Milind Upadhyay <milind.upadhyay@gmail.com>
Change-Id: I20552dfc002bfd6235dd2ac981d1d8ee245bd2e9
Signed-off-by: milind-u <milind.upadhyay@gmail.com>
diff --git a/aos/aos_cli_utils.cc b/aos/aos_cli_utils.cc
index f71ed2a..970797a 100644
--- a/aos/aos_cli_utils.cc
+++ b/aos/aos_cli_utils.cc
@@ -36,16 +36,19 @@
     bool expect_args) {
   // Don't generate failure output if the config doesn't exist while attempting
   // to autocomplete.
-  if (struct stat file_stat;
-      FLAGS__bash_autocomplete &&
-      (!(EndsWith(FLAGS_config, ".json") || EndsWith(FLAGS_config, ".bfbs")) ||
-       stat(FLAGS_config.c_str(), &file_stat) != 0 ||
-       (file_stat.st_mode & S_IFMT) != S_IFREG)) {
+  if (FLAGS__bash_autocomplete &&
+      (!(EndsWith(FLAGS_config, ".json") || EndsWith(FLAGS_config, ".bfbs")))) {
     std::cout << "COMPREPLY=()";
     return true;
   }
 
-  config.emplace(aos::configuration::ReadConfig(FLAGS_config));
+  config = aos::configuration::MaybeReadConfig(FLAGS_config);
+  if (FLAGS__bash_autocomplete && !config.has_value()) {
+    std::cout << "COMPREPLY=()";
+    return true;
+  }
+  CHECK(config.has_value()) << "Could not read config. See above errors.";
+
   event_loop.emplace(&config->message());
   event_loop->SkipTimingReport();
   event_loop->SkipAosLog();