-
Notifications
You must be signed in to change notification settings - Fork 190
Closed
Labels
POSIXPOSIX type backend is affectedPOSIX type backend is affectedavailable on masterFix is done on master branch, issue closed on next releaseFix is done on master branch, issue closed on next releaseenhancementNew feature or requestNew feature or request
Milestone
Description
platform: qnx700, aarch64, c++11 support (POSIX support)
"Operating system currently not supported!"
And It looks like the 'struct dirent' has no 'd_type'
I try to modify:
filesystem.hpp:
...
#elif defined(__QNX__)
#define GHC_OS_QNX
#else
#error "Operating system currently not supported!"
#endif
...
...
void copyToDirEntry()
{
_dir_entry._symlink_status.permissions(perms::unknown);
#ifdef GHC_OS_QNX
_dir_entry._status.type(file_type::none);
_dir_entry._status.permissions(perms::unknown);
_dir_entry._symlink_status.type(file_type::unknown);
#else
switch (_entry->d_type) {
case DT_BLK:
_dir_entry._symlink_status.type(file_type::block);
break;
case DT_CHR:
_dir_entry._symlink_status.type(file_type::character);
break;
case DT_DIR:
_dir_entry._symlink_status.type(file_type::directory);
break;
case DT_FIFO:
_dir_entry._symlink_status.type(file_type::fifo);
break;
case DT_LNK:
_dir_entry._symlink_status.type(file_type::symlink);
break;
case DT_REG:
_dir_entry._symlink_status.type(file_type::regular);
break;
case DT_SOCK:
_dir_entry._symlink_status.type(file_type::socket);
break;
default:
_dir_entry._symlink_status.type(file_type::unknown);
break;
}
if (_entry->d_type != DT_LNK) {
_dir_entry._status = _dir_entry._symlink_status;
} else {
_dir_entry._status.type(file_type::none);
_dir_entry._status.permissions(perms::unknown);
}
#endif
_dir_entry._file_size = static_cast<uintmax_t>(-1);
_dir_entry._hard_link_count = static_cast<uintmax_t>(-1);
_dir_entry._last_write_time = 0;
}
...
I don’t know if the changes are correct, but the compilation passed.
thanks.
Metadata
Metadata
Assignees
Labels
POSIXPOSIX type backend is affectedPOSIX type backend is affectedavailable on masterFix is done on master branch, issue closed on next releaseFix is done on master branch, issue closed on next releaseenhancementNew feature or requestNew feature or request