From 65fa7ccfc45edb8ba28815af7a48e6196a02f7d0 Mon Sep 17 00:00:00 2001 From: MrBounty Date: Tue, 7 Jan 2025 14:09:22 +0100 Subject: [PATCH] Now delete empty file when deleting entities exept 0.zid --- src/fileEngine.zig | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/fileEngine.zig b/src/fileEngine.zig index b78bed7..927946c 100644 --- a/src/fileEngine.zig +++ b/src/fileEngine.zig @@ -976,7 +976,7 @@ pub const FileEngine = struct { sync_context.logError("Error initializing DataWriter", err); return; }; - defer new_writer.deinit(); + errdefer new_writer.deinit(); var finish_writing = false; while (iter.next() catch |err| { @@ -1009,12 +1009,22 @@ pub const FileEngine = struct { return; }; - dir.rename(new_path, path) catch |err| { - sync_context.logError("Error renaming new file", err); + const file_stat = new_writer.fileStat() catch |err| { + sync_context.logError("Error getting new file stat", err); return; }; + new_writer.deinit(); + if (file_index != 0 and file_stat.size == 0) dir.deleteFile(new_path) catch |err| { + sync_context.logError("Error deleting empty new file", err); + return; + } else { + dir.rename(new_path, path) catch |err| { + sync_context.logError("Error renaming new file", err); + return; + }; + } - _ = sync_context.completeThread(); + sync_context.completeThread(); } // --------------------ZipponData utils--------------------