if (error != 0) {
free(dirp->buffer);
free(dirp);
+ errno = error;
return NULL;
}
fs_rights_base, fs_rights_inheriting, fs_flags,
&newfd);
if (error != 0) {
+ errno = error;
return -1;
}
return newfd;
int __wasilibc_nocwd_renameat(int oldfd, const char *old, int newfd, const char *new) {
__wasi_errno_t error = __wasi_path_rename(oldfd, old, newfd, new);
if (error != 0) {
+ errno = error;
return -1;
}
return 0;
&ro_datalen,
&ro_flags);
if (error != 0) {
+ errno = error;
return -1;
}
return ro_datalen;
size_t so_datalen;
__wasi_errno_t error = __wasi_sock_send(socket, si_data, si_data_len, si_flags, &so_datalen);
if (error != 0) {
+ errno = error;
return -1;
}
return so_datalen;
__wasi_errno_t error = __wasi_sock_shutdown(socket, how);
if (error != 0) {
+ errno = error;
return -1;
}
return error;
__wasi_errno_t error =
__wasi_path_filestat_get(fd, lookup_flags, path, &internal_stat);
if (error != 0) {
+ errno = error;
return -1;
}
to_public_stat(&internal_stat, buf);
int __wasilibc_nocwd_mkdirat_nomode(int fd, const char *path) {
__wasi_errno_t error = __wasi_path_create_directory(fd, path);
if (error != 0) {
+ errno = error;
return -1;
}
return 0;
__wasi_timestamp_t st_mtim;
__wasi_fstflags_t flags;
if (!utimens_get_timestamps(times, &st_atim, &st_mtim, &flags)) {
+ errno = EINVAL;
return -1;
}
__wasi_errno_t error =
__wasi_path_filestat_set_times(fd, lookup_flags, path, st_atim, st_mtim, flags);
if (error != 0) {
+ errno = error;
return -1;
}
return 0;
__wasi_errno_t error =
__wasi_path_filestat_get(fd, lookup_flags, path, &file);
if (error != 0) {
+ errno = error;
return -1;
}
// Perform system call.
__wasi_errno_t error = __wasi_path_link(fd1, lookup1_flags, path1, fd2, path2);
if (error != 0) {
+ errno = error;
return -1;
}
return 0;
__wasi_errno_t error = __wasi_path_readlink(fd, path,
(uint8_t*)buf, bufsize, &bufused);
if (error != 0) {
+ errno = error;
return -1;
}
return bufused;
int __wasilibc_nocwd_symlinkat(const char *path1, int fd, const char *path2) {
__wasi_errno_t error = __wasi_path_symlink(path1, fd, path2);
if (error != 0) {
+ errno = error;
return -1;
}
return 0;
int __wasilibc_nocwd___wasilibc_rmdirat(int fd, const char *path) {
__wasi_errno_t error = __wasi_path_remove_directory(fd, path);
if (error != 0) {
+ errno = error;
return -1;
}
return 0;