~ubuntu-branches/ubuntu/utopic/9base/utopic

« back to all changes in this revision

Viewing changes to sam/sys.c

  • Committer: Bazaar Package Importer
  • Author(s): Daniel Baumann
  • Date: 2010-06-04 17:22:03 UTC
  • mfrom: (1.1.6 upstream)
  • Revision ID: james.westby@ubuntu.com-20100604172203-ei85j0da495sr8ut
Tags: 1:6-1
* Adding Kai as co-maintainer.
* Merging upstream version 6.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include "sam.h"
 
2
 
 
3
static int inerror=FALSE;
 
4
 
 
5
/*
 
6
 * A reasonable interface to the system calls
 
7
 */
 
8
 
 
9
void
 
10
resetsys(void)
 
11
{
 
12
        inerror = FALSE;
 
13
}
 
14
 
 
15
void
 
16
syserror(char *a)
 
17
{
 
18
        char buf[ERRMAX];
 
19
 
 
20
        if(!inerror){
 
21
                inerror=TRUE;
 
22
                errstr(buf, sizeof buf);
 
23
                dprint("%s: ", a);
 
24
                error_s(Eio, buf);
 
25
        }
 
26
}
 
27
 
 
28
int
 
29
Read(int f, void *a, int n)
 
30
{
 
31
        char buf[ERRMAX];
 
32
 
 
33
        if(read(f, (char *)a, n)!=n) {
 
34
                if (lastfile)
 
35
                        lastfile->rescuing = 1;
 
36
                errstr(buf, sizeof buf);
 
37
                if (downloaded)
 
38
                        fprint(2, "read error: %s\n", buf);
 
39
                rescue();
 
40
                exits("read");
 
41
        }
 
42
        return n;
 
43
}
 
44
 
 
45
int
 
46
Write(int f, void *a, int n)
 
47
{
 
48
        int m;
 
49
 
 
50
        if((m=write(f, (char *)a, n))!=n)
 
51
                syserror("write");
 
52
        return m;
 
53
}
 
54
 
 
55
void
 
56
Seek(int f, long n, int w)
 
57
{
 
58
        if(seek(f, n, w)==-1)
 
59
                syserror("seek");
 
60
}