ref: b143811a53bf25824e74b7e6e6c2ee7af8c7a954
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"); }