示例#1
0
size_t devo_fread(void *ptr, size_t size, size_t nmemb, FILE *stream)
{
    long fd = (long)stream - 1;
    int r = _read_r(NULL, fd, ptr, size * nmemb);
    if (r <= 0)
        return 0;
    return nmemb;
}
示例#2
0
char *devo_fgets(char *s, int size, FILE *stream)
{
    long fd = (long)stream - 1;
    _stop_on_cr = 1;
    int r = _read_r(NULL, fd, s, size-1);
    _stop_on_cr = 0;
    if(r <= 0)
        return NULL;
    s[r] = '\0';
    return s;
}
示例#3
0
int
__sread (void* cookie,char *buf,int n)
{
  register FILE *fp = (FILE *) cookie;
  register int ret;

  ret = _read_r(fp->_data, fp->_file, buf, n);

  /* If the read succeeded, update the current offset.  */

  if (ret >= 0)
    fp->_offset += ret;
  else
    fp->_flags &= ~__SOFF;	/* paranoia */
  return ret;
}
示例#4
0
文件: stubs.c 项目: CobooGuo/elua
_ssize_t read( int file, void *ptr, size_t len )
{
    return _read_r( _REENT, file, ptr, len );
}