From 02c83c5a961edf4e49112118425670c208fb99c7 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 31 Mar 2026 16:39:32 +0000 Subject: [PATCH] Fix fwrite() rejecting read-write 'r+' permission as read-only The fwrite guard in fileobj checked only the first character of the permission string, so 'r+' (read-write) was incorrectly blocked along with 'r'/'rb'/'rt' (read-only). This caused addFile in the DID cache to fail when binaryTable set permission to 'r+' for updating the cache manifest after a file download. https://claude.ai/code/session_01KeCX4Vu4JSdtbQ8t93rGdo --- src/did/+did/+file/fileobj.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/did/+did/+file/fileobj.m b/src/did/+did/+file/fileobj.m index 0158b7b..5ee710e 100644 --- a/src/did/+did/+file/fileobj.m +++ b/src/did/+did/+file/fileobj.m @@ -207,7 +207,7 @@ function frewind(fileobj_obj) % % See also: FWRITE - if strcmpi(fileobj_obj.permission(1),'r') + if strcmpi(fileobj_obj.permission(1),'r') && ~contains(fileobj_obj.permission,'+') error('DID:File:Fileobj','Cannot use fwrite() method with read-only file'); end