bool TermView::HyperLinkState::_EntryExists(const BString& path, BString& _actualPath) const { if (path.IsEmpty()) return false; if (path[0] == '/' || fCurrentDirectory.IsEmpty()) { _actualPath = path; } else if (path == "~" || path.StartsWith("~/")) { // Replace '~' with the user's home directory. We don't handle "~user" // here yet. BPath homeDirectory; if (find_directory(B_USER_DIRECTORY, &homeDirectory) != B_OK) return false; _actualPath = homeDirectory.Path(); _actualPath << path.String() + 1; } else { _actualPath.Truncate(0); _actualPath << fCurrentDirectory << '/' << path; } struct stat st; return lstat(_actualPath, &st) == 0; }
void BaseJob::_ParseExportVariable(BStringList& environment, const BString& line) { if (!line.StartsWith("export ")) return; int separator = line.FindFirst("=\""); if (separator < 0) return; BString variable; line.CopyInto(variable, 7, separator - 7); BString value; line.CopyInto(value, separator + 2, line.Length() - separator - 3); variable << "=" << value; environment.Add(variable); }