1: /*
2: # SEEK(3.icon)
3: #
4: # Seek to position in stream
5: #
6: # Stephen B. Wampler
7: #
8: # Last modified 8/19/84
9: #
10: */
11:
12: #include "../h/rt.h"
13:
14: /*
15: * seek(file,offset,start) - seek to offset byte from start in file.
16: */
17:
18: Xseek(nargs, arg3, arg2, arg1, arg0)
19: int nargs;
20: struct descrip arg3, arg2, arg1, arg0;
21: {
22: long l1, l2;
23: int status;
24: FILE *fd;
25: long ftell();
26:
27: DeRef(arg1)
28: if (arg1.type != D_FILE)
29: runerr(106);
30:
31: defint(&arg2, &l1, 0);
32: defshort(&arg3, 0);
33:
34: fd = BLKLOC(arg1)->file.fd;
35:
36: if ((BLKLOC(arg1)->file.status == 0) ||
37: (fseek(fd, l1, arg3.value.integr) == -1))
38: fail();
39: mkint(ftell(fd), &arg0);
40: }
41:
42: Procblock(seek,3)
Defined functions
Xseek
defined in line
18;
never used