2010-07-13 Rafael Espindola <espindola@google.com>
authorRafael Ávila de Espíndola <respindola@mozilla.com>
Tue, 13 Jul 2010 14:59:02 +0000 (14:59 +0000)
committerRafael Ávila de Espíndola <respindola@mozilla.com>
Tue, 13 Jul 2010 14:59:02 +0000 (14:59 +0000)
* fileread.cc (try_extra_search_path, find_file): Move to Input_file.
* fileread.h (Input_file): Add try_extra_search_path and find_file.

gold/ChangeLog
gold/fileread.cc
gold/fileread.h

index 8d7526961c8a1e464764363e4693a21a11f79f56..6dbbceda0d4b0e740189ace44b8343021a6db6c3 100644 (file)
@@ -1,3 +1,8 @@
+2010-07-13  Rafael Espindola  <espindola@google.com>
+
+       * fileread.cc (try_extra_search_path, find_file): Move to Input_file.
+       * fileread.h (Input_file): Add try_extra_search_path and find_file.
+
 2010-07-13  Philip Herron  <herron.philip@googlemail.com>
            Ian Lance Taylor  <iant@google.com>
 
index bfab1a47f8e716f4e704f9e42bfd49e3bfe91380..0c3cb9504bfba7a958171466d96e8f9bfc450ead 100644 (file)
@@ -841,17 +841,19 @@ File_read::get_mtime()
 #endif
 }
 
-// Try to find a file in the extra search dirs. Returns true on success.
+// Try to find a file in the extra search dirs.  Returns true on success.
 
-static bool
-try_extra_search_path(int* pindex, const Input_file_argument* input_argument,
-                      std::string filename, std::string* found_name,
-                      std::string* namep) {
+bool
+Input_file::try_extra_search_path(int* pindex,
+                                 const Input_file_argument* input_argument,
+                                 std::string filename, std::string* found_name,
+                                 std::string* namep)
+{
   if (input_argument->extra_search_path() == NULL)
     return false;
 
   std::string name = input_argument->extra_search_path();
-  if (!IS_DIR_SEPARATOR (name[name.length() - 1]))
+  if (!IS_DIR_SEPARATOR(name[name.length() - 1]))
     name += '/';
   name += filename;
 
@@ -873,10 +875,11 @@ try_extra_search_path(int* pindex, const Input_file_argument* input_argument,
 // In each, we look in extra_search_path + library_path to find
 // the file location, rather than the current directory.
 
-static bool
-find_file(const Dirsearch& dirpath, int* pindex,
-          const Input_file_argument* input_argument, bool* is_in_sysroot,
-          std::string* found_name, std::string* namep)
+bool
+Input_file::find_file(const Dirsearch& dirpath, int* pindex,
+                     const Input_file_argument* input_argument,
+                     bool* is_in_sysroot,
+                     std::string* found_name, std::string* namep)
 {
   std::string name;
 
@@ -914,11 +917,13 @@ find_file(const Dirsearch& dirpath, int* pindex,
       else
        n1 = input_argument->name();
 
-      if (try_extra_search_path(pindex, input_argument, n1, found_name, namep))
+      if (Input_file::try_extra_search_path(pindex, input_argument, n1,
+                                           found_name, namep))
         return true;
 
-      if (!n2.empty() && try_extra_search_path(pindex, input_argument, n2,
-                                               found_name, namep))
+      if (!n2.empty() && Input_file::try_extra_search_path(pindex,
+                                                          input_argument, n2,
+                                                          found_name, namep))
         return true;
 
       // It is not in the extra_search_path.
@@ -969,8 +974,8 @@ bool
 Input_file::open(const Dirsearch& dirpath, const Task* task, int *pindex)
 {
   std::string name;
-  if (!find_file(dirpath, pindex, this->input_argument_, &this->is_in_sysroot_,
-                 &this->found_name_, &name))
+  if (!Input_file::find_file(dirpath, pindex, this->input_argument_,
+                            &this->is_in_sysroot_, &this->found_name_, &name))
     return false;
 
   // Now that we've figured out where the file lives, try to open it.
index a81b5fe40f729ad23eac154e4bcf3a63a6f00c51..3a8f93289ef5ef789f207d06aad82af8757f134e 100644 (file)
@@ -565,6 +565,20 @@ class Input_file
   format() const
   { return this->format_; }
 
+  // Try to find a file in the extra search dirs.  Returns true on success.
+  static bool
+  try_extra_search_path(int* pindex,
+                       const Input_file_argument* input_argument,
+                       std::string filename, std::string* found_name,
+                       std::string* namep);
+
+  // Find the actual file.
+  static bool
+  find_file(const Dirsearch& dirpath, int* pindex,
+           const Input_file_argument* input_argument,
+           bool* is_in_sysroot,
+           std::string* found_name, std::string* namep);
+
  private:
   Input_file(const Input_file&);
   Input_file& operator=(const Input_file&);