
This brings our tree to NetBSD 7.0, as found on -current on the 10-10-2015. This updates: - LLVM to 3.6.1 - GCC to GCC 5.1 - Replace minix/commands/zdump with usr.bin/zdump - external/bsd/libelf has moved to /external/bsd/elftoolchain/ - Import ctwm - Drop sprintf from libminc Change-Id: I149836ac18e9326be9353958bab9b266efb056f0
30 lines
586 B
C
30 lines
586 B
C
/* $NetBSD: pread.c,v 1.1.1.5 2015/01/02 20:34:27 christos Exp $ */
|
|
|
|
#include "file.h"
|
|
#ifndef lint
|
|
#if 0
|
|
FILE_RCSID("@(#)$File: pread.c,v 1.3 2014/09/15 19:11:25 christos Exp $")
|
|
#else
|
|
__RCSID("$NetBSD: pread.c,v 1.1.1.5 2015/01/02 20:34:27 christos Exp $");
|
|
#endif
|
|
#endif /* lint */
|
|
#include <fcntl.h>
|
|
#include <unistd.h>
|
|
|
|
ssize_t
|
|
pread(int fd, void *buf, size_t len, off_t off) {
|
|
off_t old;
|
|
ssize_t rv;
|
|
|
|
if ((old = lseek(fd, off, SEEK_SET)) == -1)
|
|
return -1;
|
|
|
|
if ((rv = read(fd, buf, len)) == -1)
|
|
return -1;
|
|
|
|
if (lseek(fd, old, SEEK_SET) == -1)
|
|
return -1;
|
|
|
|
return rv;
|
|
}
|