+ file.EXT,
+
+ where EXT is from EXTENSIONS.
+*/
+string
+File_path::find (string name, char const *extensions[])
+{
+ if (name.empty () || name == "-")
+ return name;
+
+ File_name file_name (name);
+ string orig_ext = file_name.ext_;
+ for (int i = 0; extensions[i]; i++)
+ {
+ file_name.ext_ = orig_ext;
+ if (*extensions[i] && !file_name.ext_.empty ())
+ file_name.ext_ += ".";
+ file_name.ext_ += extensions[i];
+ string found = find (file_name.to_string ());
+ if (!found.empty ())
+ return found;