53 |
|
case 'd': |
54 |
|
curbytes = sizeof(double); |
55 |
|
break; |
56 |
< |
case 'w': |
56 |
> |
case 'i': |
57 |
|
curbytes = sizeof(int); |
58 |
|
break; |
59 |
+ |
case 'w': |
60 |
+ |
curbytes = 2; |
61 |
+ |
break; |
62 |
+ |
case 'b': |
63 |
+ |
curbytes = 1; |
64 |
+ |
break; |
65 |
|
case 'a': |
66 |
|
curbytes = argv[i][3] ? 1 : 0; |
67 |
|
break; |
75 |
|
fputs(": illegal input size\n", stderr); |
76 |
|
exit(1); |
77 |
|
} |
78 |
+ |
if (curbytes) |
79 |
+ |
curtab = ""; |
80 |
|
break; |
81 |
|
case '\0': |
82 |
|
tabc[nfiles] = curtab; |
92 |
|
} else if (argv[i][0] == '!') { |
93 |
|
tabc[nfiles] = curtab; |
94 |
|
bytsiz[nfiles] = curbytes; |
95 |
< |
if ((input[nfiles++] = popen(argv[i]+1, "r")) == NULL) { |
95 |
> |
if ((input[nfiles] = popen(argv[i]+1, "r")) == NULL) { |
96 |
|
fputs(argv[i], stderr); |
97 |
|
fputs(": cannot start command\n", stderr); |
98 |
|
exit(1); |
99 |
|
} |
100 |
+ |
if (bytsiz[nfiles]) |
101 |
+ |
SET_FILE_BINARY(input[nfiles]); |
102 |
+ |
++nfiles; |
103 |
|
} else { |
104 |
|
tabc[nfiles] = curtab; |
105 |
|
bytsiz[nfiles] = curbytes; |
106 |
< |
if ((input[nfiles++] = fopen(argv[i], "r")) == NULL) { |
106 |
> |
if ((input[nfiles] = fopen(argv[i], "r")) == NULL) { |
107 |
|
fputs(argv[i], stderr); |
108 |
|
fputs(": cannot open file\n", stderr); |
109 |
|
exit(1); |
110 |
|
} |
111 |
+ |
if (bytsiz[nfiles]) |
112 |
+ |
SET_FILE_BINARY(input[nfiles]); |
113 |
+ |
++nfiles; |
114 |
|
} |
115 |
|
if (nfiles >= MAXFILE) { |
116 |
|
fputs(argv[0], stderr); |