blob: e6d1c2a3f3a693d1637f3c4c5ca9bd714b4fc3ba (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
// Copyright (c) 2015 Nuxi, https://nuxi.nl/
//
// SPDX-License-Identifier: BSD-2-Clause
#include <wasi/libc.h>
#include <wasi/libc-nocwd.h>
#include <dirent.h>
#include <fcntl.h>
#include <stddef.h>
#include <unistd.h>
DIR *__wasilibc_nocwd_opendirat(int dir, const char *dirname) {
// Open directory.
int fd = __wasilibc_nocwd_openat_nomode(dir, dirname, O_RDONLY | O_NONBLOCK | O_DIRECTORY);
if (fd == -1)
return NULL;
// Create directory handle.
DIR *result = fdopendir(fd);
if (result == NULL)
close(fd);
return result;
}
|