repo.or.cz
/
musl.git
/
blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
blame
|
history
|
raw
|
HEAD
riscv32: add arch headers
[musl.git]
/
src
/
dirent
/
opendir.c
blob
5cb84e303feea1746c64e3b255bd7fe76389e49b
1
#define _GNU_SOURCE
2
#include <dirent.h>
3
#include <fcntl.h>
4
#include <stdlib.h>
5
#include
"__dirent.h"
6
#include
"syscall.h"
7
8
DIR
*
opendir
(
const char
*
name
)
9
{
10
int
fd
;
11
DIR
*
dir
;
12
13
if
((
fd
=
open
(
name
,
O_RDONLY
|
O_DIRECTORY
|
O_CLOEXEC
)) <
0
)
14
return
0
;
15
if
(!(
dir
=
calloc
(
1
,
sizeof
*
dir
))) {
16
__syscall
(
SYS_close
,
fd
);
17
return
0
;
18
}
19
dir
->
fd
=
fd
;
20
return
dir
;
21
}