ReactOS  0.4.10-dev-509-g12e8d7f
ffileread.c File Reference
#include "schilyio.h"
Include dependency graph for ffileread.c:

Go to the source code of this file.

Functions

EXPORT ssize_t ffileread (FILE *f, void *buf, size_t len)
 

Function Documentation

EXPORT ssize_t ffileread ( FILE f,
void buf,
size_t  len 
)

Definition at line 20 of file ffileread.c.

Referenced by write_one_file().

24 {
25  register int fd;
26  register ssize_t ret;
27  int oerrno = geterrno();
28 
29  down2(f, _IOREAD, _IORW);
30  fd = fileno(f);
31 
32  while ((ret = read(fd, buf, len)) < 0 && geterrno() == EINTR) {
33  /*
34  * Set back old 'errno' so we don't change the errno visible
35  * to the outside if we did not fail.
36  */
37  seterrno(oerrno);
38  }
39  return (ret);
40 }
#define EINTR
Definition: acclib.h:80
static int fd
Definition: io.c:51
#define _IOREAD
Definition: stdio.h:125
EXPORT int seterrno(int err)
Definition: seterrno.c:34
_Check_return_ _CRTIMP int __cdecl fileno(_In_ FILE *_File)
EXPORT int geterrno()
Definition: geterrno.c:34
int ret
int ssize_t
Definition: rosdhcp.h:48
#define down2(f, fl1, fl2)
Definition: schilyio.h:218
GLenum GLsizei len
Definition: glext.h:6722
#define _IORW
Definition: stdio.h:136
_CRTIMP int __cdecl read(_In_ int _FileHandle, _Out_writes_bytes_(_MaxCharCount) void *_DstBuf, _In_ unsigned int _MaxCharCount)