Commit f1f871f1 authored by Max Kellermann's avatar Max Kellermann

fs/io/FileOutputStream: add method Tell()

parent 6387b528
......@@ -48,6 +48,17 @@ FileOutputStream::FileOutputStream(Path _path, Error &error)
GetPath().ToUTF8().c_str());
}
uint64_t
BaseFileOutputStream::Tell() const
{
LONG high = 0;
DWORD low = SetFilePointer(handle, 0, &high, FILE_CURRENT);
if (low == 0xffffffff)
return 0;
return uint64_t(high) << 32 | uint64_t(low);
}
bool
BaseFileOutputStream::Write(const void *data, size_t size, Error &error)
{
......@@ -136,6 +147,12 @@ FileOutputStream::FileOutputStream(Path _path, Error &error)
#endif
}
uint64_t
BaseFileOutputStream::Tell() const
{
return fd.Tell();
}
bool
BaseFileOutputStream::Write(const void *data, size_t size, Error &error)
{
......
......@@ -114,6 +114,9 @@ public:
return path;
}
gcc_pure
uint64_t Tell() const;
/* virtual methods from class OutputStream */
bool Write(const void *data, size_t size, Error &error) override;
};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment