14 |
|
|
15 |
|
#include "platform.h" |
16 |
|
#include "rtprocess.h" |
17 |
+ |
#include "rtio.h" |
18 |
|
|
19 |
|
#define MAXFILE 512 /* maximum number of files */ |
20 |
|
|
21 |
|
#define MAXLINE 65536 /* maximum input line */ |
22 |
|
|
22 |
– |
long incnt = 0; /* limit number of records? */ |
23 |
– |
|
23 |
|
FILE *input[MAXFILE]; |
24 |
|
int bytsiz[MAXFILE]; |
25 |
|
char *tabc[MAXFILE]; |
32 |
|
int argc; |
33 |
|
char *argv[]; |
34 |
|
{ |
35 |
+ |
long incnt = 0; |
36 |
|
int unbuff = 0; |
37 |
|
int binout = 0; |
38 |
< |
int i; |
39 |
< |
char *curtab; |
40 |
< |
int curbytes; |
38 |
> |
char *curtab = "\t"; |
39 |
> |
int curbytes = 0; |
40 |
|
int puteol; |
41 |
+ |
int i; |
42 |
|
|
43 |
– |
curtab = "\t"; |
44 |
– |
curbytes = 0; |
43 |
|
nfiles = 0; |
44 |
|
for (i = 1; i < argc; i++) { |
45 |
|
if (argv[i][0] == '-') { |
85 |
|
} |
86 |
|
if (curbytes) { |
87 |
|
curtab = ""; |
88 |
< |
++binout; |
88 |
> |
binout += (curbytes > 0); |
89 |
|
} |
90 |
|
break; |
91 |
|
case '\0': |
149 |
|
} |
150 |
|
do { /* main loop */ |
151 |
|
for (i = 0; i < nfiles; i++) { |
152 |
< |
if (bytsiz[i]) { /* binary file */ |
153 |
< |
if (fread(buf, bytsiz[i], 1, input[i]) < 1) |
152 |
> |
if (bytsiz[i]) { /* binary/fixed width */ |
153 |
> |
if (getbinary(buf, bytsiz[i], 1, input[i]) < 1) |
154 |
|
break; |
155 |
|
if (i) |
156 |
|
fputs(tabc[i], stdout); |
157 |
< |
fwrite(buf, bytsiz[i], 1, stdout); |
157 |
> |
putbinary(buf, bytsiz[i], 1, stdout); |
158 |
|
} else { |
159 |
|
if (fgets(buf, MAXLINE, input[i]) == NULL) |
160 |
|
break; |