Initial import.
This commit is contained in:
parent
b2cfc4e2e7
commit
ed7c8e8d02
41 changed files with 3226 additions and 0 deletions
60
src/cmd/sam/sys.c
Normal file
60
src/cmd/sam/sys.c
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
#include "sam.h"
|
||||
|
||||
static int inerror=FALSE;
|
||||
|
||||
/*
|
||||
* A reasonable interface to the system calls
|
||||
*/
|
||||
|
||||
void
|
||||
resetsys(void)
|
||||
{
|
||||
inerror = FALSE;
|
||||
}
|
||||
|
||||
void
|
||||
syserror(char *a)
|
||||
{
|
||||
char buf[ERRMAX];
|
||||
|
||||
if(!inerror){
|
||||
inerror=TRUE;
|
||||
errstr(buf, sizeof buf);
|
||||
dprint("%s: ", a);
|
||||
error_s(Eio, buf);
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
Read(int f, void *a, int n)
|
||||
{
|
||||
char buf[ERRMAX];
|
||||
|
||||
if(read(f, (char *)a, n)!=n) {
|
||||
if (lastfile)
|
||||
lastfile->rescuing = 1;
|
||||
errstr(buf, sizeof buf);
|
||||
if (downloaded)
|
||||
fprint(2, "read error: %s\n", buf);
|
||||
rescue();
|
||||
exits("read");
|
||||
}
|
||||
return n;
|
||||
}
|
||||
|
||||
int
|
||||
Write(int f, void *a, int n)
|
||||
{
|
||||
int m;
|
||||
|
||||
if((m=write(f, (char *)a, n))!=n)
|
||||
syserror("write");
|
||||
return m;
|
||||
}
|
||||
|
||||
void
|
||||
Seek(int f, long n, int w)
|
||||
{
|
||||
if(seek(f, n, w)==-1)
|
||||
syserror("seek");
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue