1: /* pip.c 1.5 83/05/13 */
2:
3: #include <stdio.h>
4: #include "cpmio.h"
5: #include "cpmfio.h"
6:
7: /*
8: * Copy unix file to cpm
9: */
10:
11: pip(cmdline, bin)
12: char cmdline[];
13: {
14:
15: char *index(), *i;
16:
17: if ((i = index(cmdline,' ')) == NULL) {
18: printf("too few arguments: %s\n", cmdline);
19: return;
20: }
21: *i = '\0';
22: pipc(cmdline,i+1, bin);
23: }
24:
25: pipc(unixfile, cpmfile, bin)
26: char cpmfile[], unixfile[];
27: {
28:
29: FILE *ufid;
30: char name[9], ext[4];
31: C_FILE *cid;
32: int flag = 0;
33:
34: if ((ufid = fopen(unixfile, "r")) == NULL) {
35: printf("can't open %s\n", unixfile);
36: return;
37: }
38: if (!(namesep(cpmfile, name, ext)))
39: return;
40: if (bin)
41: flag = BINARY;
42: if ((cid = c_creat(name, ext, flag)) == NULL)
43: return;
44: if (bin)
45: pipbin(cid, ufid);
46: else
47: piptext(cid, ufid);
48: c_close(cid);
49: fclose(ufid);
50: }
51:
52: piptext(cid, ufid)
53: FILE *ufid;
54: C_FILE *cid;
55: {
56: int c = 0;
57:
58: while ((c = getc(ufid)) != EOF) {
59: if (c == '\n') {
60: if (c_putc('\r', cid) == EOF)
61: break;
62: }
63: if (c_putc(c, cid) == EOF)
64: break;
65: }
66: }
67:
68: pipbin(cid, ufid)
69: FILE *ufid;
70: C_FILE *cid;
71: {
72: char buf[128];
73:
74: while (read(fileno(ufid), buf, 128) != 0) {
75: if (c_write(cid, buf, 128) != 128) {
76: fprintf(stderr, "pipbin: write error\n");
77: return;
78: }
79: }
80: }
Defined functions
pip
defined in line
11; used 2 times
pipc
defined in line
25; used 2 times