fuse: fix a compile time error

readdir_test.cc:134:24: error: variable length arrays are a C99 feature [-Werror,-Wvla-extension]
  char readdir_payload[readdir_payload_size];
This commit is contained in:
Andrei Vagin 2020-09-15 13:31:40 -07:00 committed by Andrei Vagin
parent f148242aba
commit 92a020c798
2 changed files with 5 additions and 6 deletions

View File

@ -107,7 +107,7 @@ func (FileDescriptionDefaultImpl) Write(ctx context.Context, src usermem.IOSeque
// file_operations::iterate == file_operations::iterate_shared == NULL in // file_operations::iterate == file_operations::iterate_shared == NULL in
// Linux. // Linux.
func (FileDescriptionDefaultImpl) IterDirents(ctx context.Context, cb IterDirentsCallback) error { func (FileDescriptionDefaultImpl) IterDirents(ctx context.Context, cb IterDirentsCallback) error {
return syserror.ENOSYS return syserror.ENOTDIR
} }
// Seek implements FileDescriptionImpl.Seek analogously to // Seek implements FileDescriptionImpl.Seek analogously to

View File

@ -131,7 +131,8 @@ TEST_F(ReaddirTest, SingleEntry) {
// Create an appropriately sized payload. // Create an appropriately sized payload.
size_t readdir_payload_size = size_t readdir_payload_size =
test_file_dirent_size + dot_file_dirent_size + dot_dot_file_dirent_size; test_file_dirent_size + dot_file_dirent_size + dot_dot_file_dirent_size;
char readdir_payload[readdir_payload_size]; std::vector<char> readdir_payload_vec(readdir_payload_size);
char *readdir_payload = readdir_payload_vec.data();
fill_fuse_dirent(readdir_payload, dot.c_str()); fill_fuse_dirent(readdir_payload, dot.c_str());
fill_fuse_dirent(readdir_payload + dot_file_dirent_size, dot_dot.c_str()); fill_fuse_dirent(readdir_payload + dot_file_dirent_size, dot_dot.c_str());
@ -139,10 +140,8 @@ TEST_F(ReaddirTest, SingleEntry) {
readdir_payload + dot_file_dirent_size + dot_dot_file_dirent_size, readdir_payload + dot_file_dirent_size + dot_dot_file_dirent_size,
test_file.c_str()); test_file.c_str());
std::vector<char> readdir_payload_vec(readdir_payload,
readdir_payload + readdir_payload_size);
struct fuse_out_header readdir_header = { struct fuse_out_header readdir_header = {
.len = uint32_t(sizeof(struct fuse_out_header) + sizeof(readdir_payload)), .len = uint32_t(sizeof(struct fuse_out_header) + readdir_payload_size),
}; };
struct fuse_out_header readdir_header_break = { struct fuse_out_header readdir_header_break = {
.len = uint32_t(sizeof(struct fuse_out_header)), .len = uint32_t(sizeof(struct fuse_out_header)),