ref: 5f7a6b7ea3c4ae1b51beffe3309e9b6b0491e71f
dir: /sys/src/cmd/sam/sys.c/
#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"); }