}
+int64_t
+File::tell()
+{
+ DCP_ASSERT(_file);
+#ifdef LIBDCP_WINDOWS
+ return _ftelli64(_file);
+#else
+ return ftell(_file);
+#endif
+}
+
+
+
+int
+File::error ()
+{
+ DCP_ASSERT(_file);
+ return ferror(_file);
+}
+
+
/** Windows can't "by default" cope with paths longer than 260 characters, so if you pass such a path to
* any boost::filesystem method it will fail. There is a "fix" for this, which is to prepend
* the string \\?\ to the path. This will make it work, so long as:
char *gets(char *s, int size);
/** fseek/fseeki64 wrapper */
int seek(int64_t offset, int whence);
+ /** ftell/ftelli64 wrapper */
+ int64_t tell();
+ /** ferror wrapper */
+ int error();
void checked_write(void const * ptr, size_t size);
void checked_read(void* ptr, size_t size);