|
|
1.1 root 1: /* @(#)negseek.c 1.3 90/01/08 NFS Rev 2 Testsuite
2: * 1.3 Lachman ONC Test Suite source
3: *
4: * test seek to negative offset
5: */
6: #include <stdio.h>
7: #ifdef SVR3
8: #include <fcntl.h>
9: #else
10: #include <sys/file.h>
11: #endif
12:
13: main(argc, argv)
14: int argc;
15: char *argv[];
16: {
17: int fd;
18: long i;
19: char buf[8192];
20: extern int errno;
21: extern long lseek();
22:
23: if (argc != 2) {
24: fprintf(stderr, "usage: negseek filename\n");
25: exit(1);
26: }
27: fd = open(argv[1], O_CREAT|O_RDONLY, 0666);
28: if (fd == -1) {
29: perror(argv[1]);
30: exit(1);
31: }
32:
33: for ( i = 0L; i>-10240L ;i -= 1024L ) {
34: if (lseek(fd, i, 0) == -1L) {
35: perror("lseek");
36: close(fd);
37: unlink(argv[1]);
38: #ifdef SVR3
39: exit(0);
40: #else
41: exit(1);
42: #endif
43: }
44: if (read(fd, buf, sizeof buf) == -1) {
45: perror("read");
46: close(fd);
47: unlink(argv[1]);
48: #ifdef SVR3
49: exit(1);
50: #else
51: exit(0);
52: #endif
53: }
54: }
55: close(fd);
56: unlink(argv[1]);
57: exit(1);
58: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.