|
Lines 97-103
Link Here
|
| 97 |
argc -= optind; |
97 |
argc -= optind; |
| 98 |
argv += optind; |
98 |
argv += optind; |
| 99 |
|
99 |
|
| 100 |
|
|
|
| 101 |
if (*argv) { |
100 |
if (*argv) { |
| 102 |
rval = 0; |
101 |
rval = 0; |
| 103 |
do { |
102 |
do { |
|
Lines 141-151
Link Here
|
| 141 |
struct passwd *pw; |
140 |
struct passwd *pw; |
| 142 |
register int n; |
141 |
register int n; |
| 143 |
register char ch, first, *p; |
142 |
register char ch, first, *p; |
| 144 |
int mode, n1; |
143 |
int mode, n1, l; |
| 145 |
char buf[MAXPATHLEN]; |
144 |
char buf[MAXPATHLEN]; |
| 146 |
char buffn[MAXPATHLEN]; /* file name buffer */ |
145 |
char buffn[MAXPATHLEN]; /* file name buffer */ |
| 147 |
|
146 |
|
| 148 |
|
|
|
| 149 |
/* search for header line */ |
147 |
/* search for header line */ |
| 150 |
do { |
148 |
do { |
| 151 |
if (!fgets(buf, sizeof(buf), stdin)) { |
149 |
if (!fgets(buf, sizeof(buf), stdin)) { |
|
Lines 198-204
Link Here
|
| 198 |
|
196 |
|
| 199 |
else { |
197 |
else { |
| 200 |
if (iflag && !access(buf, F_OK)) |
198 |
if (iflag && !access(buf, F_OK)) |
| 201 |
(void)fprintf(stderr, "not overwritten: %s\n", buf); |
199 |
(void)fprintf(stderr, "%s: not overwritten: %s\n", |
|
|
200 |
filename, buf); |
| 202 |
if (!freopen(buf, "w", stdout) || |
201 |
if (!freopen(buf, "w", stdout) || |
| 203 |
fchmod(fileno(stdout), mode&0666)) { |
202 |
fchmod(fileno(stdout), mode&0666)) { |
| 204 |
warn("%s: %s", buf, filename); |
203 |
warn("%s: %s", buf, filename); |
|
Lines 208-214
Link Here
|
| 208 |
strcpy(buffn, buf); /* store file name from header line */ |
207 |
strcpy(buffn, buf); /* store file name from header line */ |
| 209 |
|
208 |
|
| 210 |
/* for each input line */ |
209 |
/* for each input line */ |
| 211 |
for (;;) { |
210 |
for (l = 0;; l++) { |
| 212 |
if (!fgets(p = buf, sizeof(buf), stdin)) { |
211 |
if (!fgets(p = buf, sizeof(buf), stdin)) { |
| 213 |
warnx("%s: short file", filename); |
212 |
warnx("%s: short file", filename); |
| 214 |
return(1); |
213 |
return(1); |
|
Lines 220-227
Link Here
|
| 220 |
#define OUT_OF_RANGE \ |
219 |
#define OUT_OF_RANGE \ |
| 221 |
{ \ |
220 |
{ \ |
| 222 |
warnx( \ |
221 |
warnx( \ |
| 223 |
"\n\tinput file: %s\n\tencoded file: %s\n\tcharacter out of range: [%d-%d]", \ |
222 |
"\n\tinput file: %s\n\tencoded file: %s\n\tcharacter out of range: [%d-%d] at %d", \ |
| 224 |
filename, buffn, 1 + ' ', 077 + ' ' + 1); \ |
223 |
filename, buffn, 1 + ' ', 077 + ' ' + 1, l); \ |
| 225 |
return(1); \ |
224 |
return(1); \ |
| 226 |
} |
225 |
} |