File:  [Net/2] / Net2 / tests / fstests / readchk.c
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 18:03:56 2018 UTC (8 years, 3 months ago) by root
Branches: MAIN, CSRG
CVS tags: Net2, HEAD
Net/2

#define BUFSIZ 4096

main(argc, argv)
	int argc;
	char *argv[];
{
	int buf[BUFSIZ / sizeof(int)];
	int i, j, k;

	if (argc != 2) {
		printf("Usage: readchk file\n");
		exit(1);
	}
	j = creat(argv[1], 0666);
	if (j < 0) {
		perror(argv[1]);
		exit(2);
	}
	for (i = 0; i < 2048; i++) {
		for (k = 0; k < BUFSIZ / sizeof(int); k++)
			buf[k] = i + k;
		if (write(j, buf, BUFSIZ) != BUFSIZ) {
			perror("write");
			exit(3);
		}
	}
	close(j);
	j = open(argv[1], 0);
	if (j < 0) {
		perror(argv[1]);
		exit(4);
	}
	for (i = 0; i < 2048; i++) {
		if (read(j, buf, BUFSIZ) != BUFSIZ) {
			perror("read");
			exit(5);
		}
		for (k = 0; k < BUFSIZ / sizeof(int); k++)
			if (buf[k] != i + k)
				printf("bad data at %d\n",
					tell(j) - BUFSIZ + 4 * k);
	}
}

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.