- from = getdev("From", fbuf, 0);
- to = getdev("To", tbuf, 1);
- for (;;) {
- i = read(from, buffer, sizeof (buffer));
- if (i != sizeof (buffer))
+ from = getfile("From", 0);
+ to = getfile("To", 1);
+ for (record = 0;; ++record) {
+ if (!(rcc = read(from, buf, BSIZE)))
+ break;
+ if (rcc < 0) {
+ printf("Record %d: read error, errno=%d\n",
+ record, errno);
+ break;
+ }
+ if (!record && rcc != BSIZE) {
+ rcc = BSIZE;
+ printf("Block size set from input; %d bytes\n", BSIZE);
+ }
+ if (rcc < BSIZE)
+ printf("Record %d: read short; expected %d, got %d\n",
+ record, BSIZE, rcc);
+#ifdef vax
+ /* For bug in ht driver. */
+ if (rcc > BSIZE)
+ rcc = BSIZE;
+#endif
+ if ((wcc = write(to, buf, rcc)) < 0) {
+ printf("Record %d: write error: errno=%d\n",
+ record, errno);