blob: e27b56de71852d0c5d435857d0e78bc232b772d5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#include <__stdio.h> // for __FILE
#include <atomic.h> // for LIBC_LOCK, LIBC_UNLOCK
#include <errno.h> // for EBADF, errno
#include <stdio.h> // for FILE, fileno
int fileno(FILE *stream)
{
int fd;
LIBC_LOCK(__FILE(stream)->lock);
fd = __FILE(stream)->fd;
LIBC_UNLOCK(__FILE(stream)->lock);
if (fd < 0) {
errno = EBADF;
return -1;
}
return fd;
}
|