=> fde9e5efb2d2098453d8229ef87af5fa96156010
[1mdiff --git a/include/the_Foundation/fileinfo.h b/include/the_Foundation/fileinfo.h[m [1mindex 08aa356..17ca697 100644[m [1m--- a/include/the_Foundation/fileinfo.h[m [1m+++ b/include/the_Foundation/fileinfo.h[m [36m@@ -47,6 +47,7 @@[m [miBool exists_FileInfo (const iFileInfo *);[m const iString * path_FileInfo (const iFileInfo *);[m size_t size_FileInfo (const iFileInfo *);[m iBool isDirectory_FileInfo (const iFileInfo *);[m [32m+[m[32miBool isWritable_FileInfo (const iFileInfo *);[m iTime lastModified_FileInfo (const iFileInfo *);[m [m iBool fileExists_FileInfo (const iString *path);[m [1mdiff --git a/src/fileinfo.c b/src/fileinfo.c[m [1mindex b54ad5e..6d753db 100644[m [1m--- a/src/fileinfo.c[m [1m+++ b/src/fileinfo.c[m [36m@@ -68,6 +68,7 @@[m [mstatic int access(const char *path, int mode) {[m enum FileInfoFlags {[m exists_FileInfoFlag = iBit(1),[m directory_FileInfoFlag = iBit(2),[m [32m+[m[32m writable_FileInfoFlag = iBit(3),[m };[m [m struct Impl_FileInfo {[m [36m@@ -136,8 +137,10 @@[m [mstatic iBool initDirEntry_FileInfo_(iFileInfo *d, const iString *dirPath, struct[m set_String(d->path, full);[m delete_String(full);[m deinit_String(&entryName);[m [31m- [m d->flags = exists_FileInfoFlag;[m [32m+[m[32m if (access(cstr_String(d->path), W_OK) == 0) {[m [32m+[m[32m d->flags |= writable_FileInfoFlag;[m [32m+[m[32m }[m #if defined (iPlatformHaiku)[m struct stat s;[m stat(ent->d_name, &s);[m [36m@@ -176,6 +179,10 @@[m [msize_t size_FileInfo(const iFileInfo *d) {[m iBool isDirectory_FileInfo(const iFileInfo *d) {[m return (d->flags & directory_FileInfoFlag) != 0;[m }[m [32m+[m[41m [m [32m+[m[32miBool isWritable_FileInfo(const iFileInfo *d) {[m [32m+[m[32m return (d->flags & writable_FileInfoFlag) != 0;[m [32m+[m[32m}[m [m iTime lastModified_FileInfo(const iFileInfo *d) {[m if (!isValid_Time(&d->lastModified)) {[m
text/gemini; charset=utf-8
This content has been proxied by September (ba2dc).