Browse Source

Add 'readonly' field to love.filesystem.getInfo's returned table

Alex Szpakowski 4 years ago
parent
commit
f61a650a87

+ 1 - 0
src/modules/filesystem/Filesystem.h

@@ -96,6 +96,7 @@ public:
 		int64 size;
 		int64 modtime;
 		FileType type;
+		bool readonly;
 	};
 
 	static love::Type type;

+ 1 - 0
src/modules/filesystem/physfs/Filesystem.cpp

@@ -720,6 +720,7 @@ bool Filesystem::getInfo(const char *filepath, Info &info) const
 
 	info.size = (int64) stat.filesize;
 	info.modtime = (int64) stat.modtime;
+	info.readonly = stat.readonly != 0;
 
 	if (stat.filetype == PHYSFS_FILETYPE_REGULAR)
 		info.type = FILETYPE_FILE;

+ 3 - 0
src/modules/filesystem/wrap_Filesystem.cpp

@@ -485,6 +485,9 @@ int w_getInfo(lua_State *L)
 		lua_pushstring(L, typestr);
 		lua_setfield(L, -2, "type");
 
+		luax_pushboolean(L, info.readonly);
+		lua_setfield(L, -2, "readonly");
+
 		// Lua numbers (doubles) can't fit the full range of 64 bit ints.
 		info.size = std::min<int64>(info.size, 0x20000000000000LL);
 		if (info.size >= 0)