[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/plain
This content has been proxied by September (ba2dc).