|
Lines 1254-1259
close_archive ()
Link Here
|
| 1254 |
if (f_verify) |
1254 |
if (f_verify) |
| 1255 |
verify_volume (); |
1255 |
verify_volume (); |
| 1256 |
|
1256 |
|
|
|
1257 |
#ifndef __MSDOS__ |
| 1258 |
/* |
| 1259 |
* closing the child's pipe before reading EOF guarantees that it |
| 1260 |
* will be unhappy - SIGPIPE, or exit 1. |
| 1261 |
* Either way it can screw us, so play nice. |
| 1262 |
*/ |
| 1263 |
if (childpid && ar_reading) { |
| 1264 |
char buf[BUFSIZ]; |
| 1265 |
|
| 1266 |
while ((c = read(archive, buf, sizeof(buf))) > 0) |
| 1267 |
continue; |
| 1268 |
} |
| 1269 |
#endif |
| 1270 |
|
| 1257 |
if ((c = rmtclose (archive)) < 0) |
1271 |
if ((c = rmtclose (archive)) < 0) |
| 1258 |
msg_perror ("Warning: can't close %s(%d,%d)", ar_files[cur_ar_file], archive, c); |
1272 |
msg_perror ("Warning: can't close %s(%d,%d)", ar_files[cur_ar_file], archive, c); |
| 1259 |
|
1273 |
|
|
Lines 1291-1299
close_archive ()
Link Here
|
| 1291 |
*/ |
1305 |
*/ |
| 1292 |
/* Do nothing. */ |
1306 |
/* Do nothing. */ |
| 1293 |
} |
1307 |
} |
| 1294 |
else if (WEXITSTATUS (status)) |
1308 |
else if (WEXITSTATUS (status)) { |
| 1295 |
msg ("child returned status %d", |
1309 |
msg ("child returned status %d", |
| 1296 |
WEXITSTATUS (status)); |
1310 |
WEXITSTATUS (status)); |
|
|
1311 |
exit (EX_BADARCH); |
| 1312 |
} |
| 1297 |
} |
1313 |
} |
| 1298 |
} |
1314 |
} |
| 1299 |
} |
1315 |
} |