Index: native_client_sdk/src/libraries/nacl_io/html5fs/html5_fs_node.cc |
diff --git a/native_client_sdk/src/libraries/nacl_io/html5fs/html5_fs_node.cc b/native_client_sdk/src/libraries/nacl_io/html5fs/html5_fs_node.cc |
index bb3a8f5ac3524d3370ddc2f6f73b2b4aff2b9f08..76eff01b6ee33e2da58e90da15f19b89625d935c 100644 |
--- a/native_client_sdk/src/libraries/nacl_io/html5fs/html5_fs_node.cc |
+++ b/native_client_sdk/src/libraries/nacl_io/html5fs/html5_fs_node.cc |
@@ -26,6 +26,8 @@ namespace nacl_io { |
namespace { |
+const int kEmptyDirSize = 4096; |
+ |
struct OutputBuffer { |
void* data; |
int element_count; |
@@ -156,6 +158,8 @@ Error Html5FsNode::GetStat(struct stat* stat) { |
// Fill in known info here. |
memcpy(stat, &stat_, sizeof(stat_)); |
+ stat->st_size = static_cast<off_t>(info.size); |
+ |
// Fill in the additional info from ppapi. |
switch (info.type) { |
case PP_FILETYPE_REGULAR: |
@@ -163,12 +167,15 @@ Error Html5FsNode::GetStat(struct stat* stat) { |
break; |
case PP_FILETYPE_DIRECTORY: |
stat->st_mode |= S_IFDIR; |
+ // Hack the directory size |
+ // In Linux, even a empty directory has size 4096 |
+ // info.size is always zero for directories |
+ stat->st_size = kEmptyDirSize; |
break; |
case PP_FILETYPE_OTHER: |
default: |
break; |
} |
- stat->st_size = static_cast<off_t>(info.size); |
stat->st_atime = info.last_access_time; |
stat->st_mtime = info.last_modified_time; |
stat->st_ctime = info.creation_time; |