#include "vfs-slave.h"
+/* Config: */
+#define MAX_FILE_WRITTEN 0x100000 /* FIXME: Workaround memory consumption for non-journalled fastfat.sys */
+
+
struct _CaptiveFileSlaveObject {
CaptiveFileObject parent_instance;
GnomeVFSFileInfo file_info;
GnomeVFSFileSize endoffile_wanted;
GnomeVFSResult errvfsresult;
+static GnomeVFSFileSize total_written=0;
g_return_val_if_fail(CAPTIVE_FILE_SLAVE_IS_OBJECT(captive_file_object),GNOME_VFS_ERROR_BAD_PARAMETERS);
g_return_val_if_fail(buffer!=NULL,GNOME_VFS_ERROR_BAD_PARAMETERS);
g_return_val_if_fail(captive_file_slave_object->file_Handle!=NULL,GNOME_VFS_ERROR_BAD_PARAMETERS);
+ /* FIXME: Workaround memory consumption for non-journalled fastfat.sys */
+ if (total_written>=MAX_FILE_WRITTEN)
+ return GNOME_VFS_ERROR_SERVICE_OBSOLETE;
+ total_written+=num_bytes;
+
if ((GnomeVFSFileOffset)(captive_file_slave_object->offset+num_bytes) < captive_file_slave_object->offset)
return GNOME_VFS_ERROR_TOO_BIG;
endoffile_wanted=captive_file_slave_object->offset+num_bytes;