From 0d0c0809087e646f05787406e20af7b30daa4815 Mon Sep 17 00:00:00 2001 From: Michael Scire Date: Fri, 9 Nov 2018 09:24:42 -0800 Subject: [PATCH] Add usage comment, sysver check --- nx/include/switch/services/fs.h | 5 ++++- nx/source/services/fs.c | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/nx/include/switch/services/fs.h b/nx/include/switch/services/fs.h index c4d99211..46cfbf40 100644 --- a/nx/include/switch/services/fs.h +++ b/nx/include/switch/services/fs.h @@ -203,9 +203,12 @@ Result fsFsGetFreeSpace(FsFileSystem* fs, const char* path, u64* out); Result fsFsGetTotalSpace(FsFileSystem* fs, const char* path, u64* out); Result fsFsCleanDirectoryRecursively(FsFileSystem* fs, const char* path); Result fsFsQueryEntry(FsFileSystem* fs, void *out, size_t out_size, const void *in, size_t in_size, const char* path, FsFileSystemQueryType query_type); -Result fsFsSetArchiveBit(FsFileSystem* fs, const char *path); void fsFsClose(FsFileSystem* fs); +/// Uses fsFsQueryEntry to set the archive bit on the specified absolute directory path. +/// This will cause HOS to treat the directory as though it is a file containing the directory's concatenated contents. +Result fsFsSetArchiveBit(FsFileSystem* fs, const char *path); + // IFile Result fsFileRead(FsFile* f, u64 off, void* buf, size_t len, size_t* out); Result fsFileWrite(FsFile* f, u64 off, const void* buf, size_t len); diff --git a/nx/source/services/fs.c b/nx/source/services/fs.c index c6c0cf95..5ef5a941 100644 --- a/nx/source/services/fs.c +++ b/nx/source/services/fs.c @@ -1008,6 +1008,9 @@ Result fsFsCleanDirectoryRecursively(FsFileSystem* fs, const char* path) { } Result fsFsQueryEntry(FsFileSystem* fs, void *out, size_t out_size, const void *in, size_t in_size, const char* path, FsFileSystemQueryType query_type) { + if (!kernelAbove400()) + return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer); + char send_path[FS_MAX_PATH] = {0}; strncpy(send_path, path, sizeof(send_path)-1);