diff options
author | sbc <sbc@chromium.org> | 2015-07-29 16:59:44 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-07-30 00:00:19 +0000 |
commit | 2253aa2698c8bfe5544987f5aa93f31211f04f5f (patch) | |
tree | 714e1afde3f126ee9bb31872aa7d09735f1d6ea5 /native_client_sdk/src | |
parent | d82a1b6e8d8d9cb25ce2bbe6e7ab5fdf5fe6050e (diff) | |
download | chromium_src-2253aa2698c8bfe5544987f5aa93f31211f04f5f.zip chromium_src-2253aa2698c8bfe5544987f5aa93f31211f04f5f.tar.gz chromium_src-2253aa2698c8bfe5544987f5aa93f31211f04f5f.tar.bz2 |
[NaCl SDK] nacl_io: Fix compile error in kernel_wrap_glibc.cc
This snuk in with https://codereview.chromium.org/1214163004
because the SDK trybots were not run. This change has
CQ_EXTRA_TRYBOTS to ensure coverage.
CQ_EXTRA_TRYBOTS=tryserver.chromium.linux:linux_nacl_sdk;tryserver.chromium.mac:mac_nacl_sdk;tryserver.chromium.win:win_nacl_sdk
Review URL: https://codereview.chromium.org/1261173002
Cr-Commit-Position: refs/heads/master@{#341026}
Diffstat (limited to 'native_client_sdk/src')
3 files changed, 8 insertions, 9 deletions
diff --git a/native_client_sdk/src/libraries/nacl_io/kernel_wrap_glibc.cc b/native_client_sdk/src/libraries/nacl_io/kernel_wrap_glibc.cc index 0fda3bc4..8e45a35 100644 --- a/native_client_sdk/src/libraries/nacl_io/kernel_wrap_glibc.cc +++ b/native_client_sdk/src/libraries/nacl_io/kernel_wrap_glibc.cc @@ -194,7 +194,8 @@ int WRAP(getcwd)(char* buf, size_t size) { return 0; } -int WRAP(getdents)(int fd, dirent* nacl_buf, size_t nacl_count, size_t* nread) { +int WRAP(getdents)(int fd, nacl_abi_dirent* nacl_buf, size_t nacl_count, + size_t* nread) { int nacl_offset = 0; // "buf" contains dirent(s); "nacl_buf" contains nacl_abi_dirent(s). // nacl_abi_dirent(s) are smaller than dirent(s), so nacl_count bytes buffer @@ -203,13 +204,12 @@ int WRAP(getdents)(int fd, dirent* nacl_buf, size_t nacl_count, size_t* nread) { int offset = 0; int count; - count = ki_getdents(fd, buf, nacl_count); + count = ki_getdents(fd, (dirent*)buf, nacl_count); RTN_ERRNO_IF(count < 0); while (offset < count) { dirent* d = (dirent*)(buf + offset); - nacl_abi_dirent* nacl_d = static_cast<nacl_abi_dirent*>( - (char*)nacl_buf + nacl_offset); + nacl_abi_dirent* nacl_d = (nacl_abi_dirent*)((char*)nacl_buf + nacl_offset); nacl_d->nacl_abi_d_ino = d->d_ino; nacl_d->nacl_abi_d_off = d->d_off; nacl_d->nacl_abi_d_reclen = d->d_reclen - d_name_shift; diff --git a/native_client_sdk/src/tests/nacl_io_test/kernel_wrap_test.cc b/native_client_sdk/src/tests/nacl_io_test/kernel_wrap_test.cc index 75ec6b7..5087281 100644 --- a/native_client_sdk/src/tests/nacl_io_test/kernel_wrap_test.cc +++ b/native_client_sdk/src/tests/nacl_io_test/kernel_wrap_test.cc @@ -352,11 +352,10 @@ TEST_F(KernelWrapTest, getdents) { // It looks like the only way to exercise it is to call readdir(2). // There is an internal glibc function __getdents that will call the // IRT but that cannot be accessed from here as glibc does not export it. - int dummy_val; - void* void_ptr = &dummy_val; - EXPECT_CALL(mock, getdents(kDummyInt, void_ptr, kDummyInt2)) + struct dirent dirent; + EXPECT_CALL(mock, getdents(kDummyInt, &dirent, kDummyInt2)) .WillOnce(Return(kDummyInt2)); - EXPECT_EQ(kDummyInt2, getdents(kDummyInt, void_ptr, kDummyInt2)); + EXPECT_EQ(kDummyInt2, getdents(kDummyInt, &dirent, kDummyInt2)); #endif } diff --git a/native_client_sdk/src/tests/nacl_io_test/mock_kernel_proxy.h b/native_client_sdk/src/tests/nacl_io_test/mock_kernel_proxy.h index e121c6c..abd6c83 100644 --- a/native_client_sdk/src/tests/nacl_io_test/mock_kernel_proxy.h +++ b/native_client_sdk/src/tests/nacl_io_test/mock_kernel_proxy.h @@ -35,7 +35,7 @@ class MockKernelProxy : public nacl_io::KernelProxy { MOCK_METHOD1(fsync, int(int)); MOCK_METHOD2(futimens, int(int, const struct timespec[2])); MOCK_METHOD2(getcwd, char*(char*, size_t)); - MOCK_METHOD3(getdents, int(int, void*, unsigned int)); + MOCK_METHOD3(getdents, int(int, struct dirent*, unsigned int)); MOCK_METHOD1(getwd, char*(char*)); MOCK_METHOD3(ioctl, int(int, int, va_list)); MOCK_METHOD1(isatty, int(int)); |