public override Buf open(string mode)
{
try
{
System.IO.FileMode fm;
System.IO.FileAccess fa;
string s = mode;
if (s == "r")
{
fm = System.IO.FileMode.Open;
fa = System.IO.FileAccess.Read;
}
else if (s == "w")
{
fm = System.IO.FileMode.OpenOrCreate;
fa = System.IO.FileAccess.Write;
}
else if (s == "rw")
{
fm = System.IO.FileMode.OpenOrCreate;
fa = System.IO.FileAccess.ReadWrite;
}
else
{
throw new System.IO.IOException("Unsupported mode: " + mode);
}
return new FileBuf(this, (m_file as FileInfo).Open(fm, fa));
}
catch (System.IO.IOException e)
{
throw IOErr.make(e).val;
}
}