aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormax99x <max99x@gmail.com>2011-07-17 14:05:41 +0300
committermax99x <max99x@gmail.com>2011-07-17 14:05:41 +0300
commit12e42a25f7d601d0dfc2e11420dfc953418955e6 (patch)
treebf8ef5cda61503f792907cb6f87a0001794a3efa
parent61c5b7568e542d8c353a1b78be2a151f93b55acb (diff)
Switched hardcoded struct layouts in the FS implementation to calculated ones.
-rw-r--r--src/library.js28
1 files changed, 8 insertions, 20 deletions
diff --git a/src/library.js b/src/library.js
index 7dda1d4b..3355939a 100644
--- a/src/library.js
+++ b/src/library.js
@@ -176,19 +176,10 @@ LibraryManager.library = {
// dirent.h
// ==========================================================================
- // TODO: Switch to dynamically calculated layout.
- //__dirent_struct_layout: Runtime.generateStructInfo('dirent'),
- __dirent_struct_layout: {
- __size__: 268,
- // The inode number of the entry.
- d_ino: 0,
- // The offset of the next entry.
- d_off: 4,
- // The length of the d_name buffer.
- d_reclen: 8,
- // The filename of the entry.
- d_name: 11
- },
+ __dirent_struct_layout: Runtime.generateStructInfo(
+ ['d_ino', 'd_off', 'd_reclen', 'd_type', 'd_name'],
+ '%struct.dirent'
+ ),
opendir__deps: ['$FS', '__setErrNo', '__dirent_struct_layout'],
opendir: function(dirname) {
// DIR *opendir(const char *dirname);
@@ -324,13 +315,10 @@ LibraryManager.library = {
// utime.h
// ==========================================================================
- // TODO: Switch to dynamically calculated layout.
- //__utimbuf_struct_layout: Runtime.generateStructInfo('utimbuf'),
- __utimbuf_struct_layout: {
- __size__: 8,
- actime: 0,
- modtime: 4
- },
+ __utimbuf_struct_layout: Runtime.generateStructInfo(
+ ['actime', 'modtime'],
+ '%struct.utimbuf'
+ ),
utime__deps: ['$FS', '__setErrNo', '__utimbuf_struct_layout'],
utime: function(path, times) {
// int utime(const char *path, const struct utimbuf *times);