aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/library.js5
-rw-r--r--system/include/libc/sys/_types.h4
-rw-r--r--tests/stat/src.c24
3 files changed, 16 insertions, 17 deletions
diff --git a/src/library.js b/src/library.js
index a4278b9f..43b81c0b 100644
--- a/src/library.js
+++ b/src/library.js
@@ -706,9 +706,8 @@ LibraryManager.library = {
mode = obj.link === undefined ? 0x8000 : 0xA000; // S_IFREG, S_IFLNK.
}
}
- {{{ makeSetValue('buf', 'offsets.st_dev', makeI64('dev'), 'i64') }}};
- {{{ makeSetValue('buf', 'offsets.st_rdev', makeI64('rdev'), 'i64') }}};
- // NOTE: These two may be i64, depending on compilation options.
+ {{{ makeSetValue('buf', 'offsets.st_dev', 'dev', 'i32') }}};
+ {{{ makeSetValue('buf', 'offsets.st_rdev', 'rdev', 'i32') }}};
{{{ makeSetValue('buf', 'offsets.st_size', 'size', 'i32') }}}
{{{ makeSetValue('buf', 'offsets.st_blocks', 'blocks', 'i32') }}}
if (obj.read) mode |= 0x16D; // S_IRUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH.
diff --git a/system/include/libc/sys/_types.h b/system/include/libc/sys/_types.h
index 44f0db87..c56fbd58 100644
--- a/system/include/libc/sys/_types.h
+++ b/system/include/libc/sys/_types.h
@@ -21,7 +21,7 @@ typedef long _off_t;
typedef unsigned long long __dev_t;
#else
#ifndef __dev_t_defined
-typedef unsigned long long __dev_t; /* XXX Emscripten */
+typedef unsigned __dev_t; /* XXX Emscripten */
#endif
#endif
@@ -33,7 +33,7 @@ typedef unsigned __gid_t; /* XXX Emscripten */
#endif
#ifndef __off64_t_defined
-__extension__ typedef long long _off64_t;
+__extension__ typedef unsigned _off64_t; /* XXX Emscripten */
#endif
/*
diff --git a/tests/stat/src.c b/tests/stat/src.c
index bdf27ca2..dc5a0198 100644
--- a/tests/stat/src.c
+++ b/tests/stat/src.c
@@ -15,11 +15,11 @@ int main() {
printf("--stat FOLDER--\n");
printf("ret: %d\n", stat("/test", &s));
printf("errno: %d\n", errno);
- printf("st_dev: %llu\n", s.st_dev);
+ printf("st_dev: %lu\n", s.st_dev);
printf("st_ino: %lu\n", s.st_ino);
printf("st_mode: 0%o\n", s.st_mode);
printf("st_nlink: %d\n", s.st_nlink);
- printf("st_rdev: %llu\n", s.st_rdev);
+ printf("st_rdev: %lu\n", s.st_rdev);
printf("st_size: %ld\n", s.st_size);
printf("st_atime: %ld\n", s.st_atime);
printf("st_mtime: %ld\n", s.st_mtime);
@@ -38,11 +38,11 @@ int main() {
printf("\n--stat FILE--\n");
printf("ret: %d\n", stat("/test/file", &s));
printf("errno: %d\n", errno);
- printf("st_dev: %llu\n", s.st_dev);
+ printf("st_dev: %lu\n", s.st_dev);
printf("st_ino: %lu\n", s.st_ino);
printf("st_mode: 0%o\n", s.st_mode);
printf("st_nlink: %d\n", s.st_nlink);
- printf("st_rdev: %llu\n", s.st_rdev);
+ printf("st_rdev: %lu\n", s.st_rdev);
printf("st_size: %ld\n", s.st_size);
printf("st_atime: %ld\n", s.st_atime);
printf("st_mtime: %ld\n", s.st_mtime);
@@ -61,11 +61,11 @@ int main() {
printf("\n--stat DEVICE--\n");
printf("ret: %d\n", stat("/test/device", &s));
printf("errno: %d\n", errno);
- printf("st_dev: %llu\n", s.st_dev);
+ printf("st_dev: %lu\n", s.st_dev);
printf("st_ino: %lu\n", s.st_ino);
printf("st_mode: 0%o\n", s.st_mode);
printf("st_nlink: %d\n", s.st_nlink);
- printf("st_rdev: %llu\n", s.st_rdev);
+ printf("st_rdev: %lu\n", s.st_rdev);
printf("st_size: %ld\n", s.st_size);
printf("st_atime: %ld\n", s.st_atime);
printf("st_mtime: %ld\n", s.st_mtime);
@@ -84,11 +84,11 @@ int main() {
printf("\n--stat LINK--\n");
printf("ret: %d\n", stat("/test/link", &s));
printf("errno: %d\n", errno);
- printf("st_dev: %llu\n", s.st_dev);
+ printf("st_dev: %lu\n", s.st_dev);
printf("st_ino: %lu\n", s.st_ino);
printf("st_mode: 0%o\n", s.st_mode);
printf("st_nlink: %d\n", s.st_nlink);
- printf("st_rdev: %llu\n", s.st_rdev);
+ printf("st_rdev: %lu\n", s.st_rdev);
printf("st_size: %ld\n", s.st_size);
printf("st_atime: %ld\n", s.st_atime);
printf("st_mtime: %ld\n", s.st_mtime);
@@ -107,11 +107,11 @@ int main() {
printf("\n--lstat LINK--\n");
printf("ret: %d\n", lstat("/test/link", &s));
printf("errno: %d\n", errno);
- printf("st_dev: %llu\n", s.st_dev);
+ printf("st_dev: %lu\n", s.st_dev);
printf("st_ino: %lu\n", s.st_ino);
printf("st_mode: 0%o\n", s.st_mode);
printf("st_nlink: %d\n", s.st_nlink);
- printf("st_rdev: %llu\n", s.st_rdev);
+ printf("st_rdev: %lu\n", s.st_rdev);
printf("st_size: %ld\n", s.st_size);
printf("st_atime: %ld\n", s.st_atime);
printf("st_mtime: %ld\n", s.st_mtime);
@@ -130,11 +130,11 @@ int main() {
printf("\n--fstat FILE--\n");
printf("ret: %d\n", fstat(open("/test/file", O_RDONLY, 0777), &s));
printf("errno: %d\n", errno);
- printf("st_dev: %llu\n", s.st_dev);
+ printf("st_dev: %lu\n", s.st_dev);
printf("st_ino: %lu\n", s.st_ino);
printf("st_mode: 0%o\n", s.st_mode);
printf("st_nlink: %d\n", s.st_nlink);
- printf("st_rdev: %llu\n", s.st_rdev);
+ printf("st_rdev: %lu\n", s.st_rdev);
printf("st_size: %ld\n", s.st_size);
printf("st_atime: %ld\n", s.st_atime);
printf("st_mtime: %ld\n", s.st_mtime);