fd_in = open(argv[1], O_RDONLY);
if (fd_in < 0)
{
- perror("Error while opening: ");
+ perror("Error opening input file");
exit(1);
}
fd_out = open(argv[2], O_WRONLY|O_CREAT, 00644);
if (fd_out < 0)
{
- perror("Error while opening: ");
+ perror("Error opening output file");
close(fd_in);
exit(1);
}
// write out modified header
buf_in[0] = 'F';
- write(fd_out, &buf_in, 8);
+ if (write(fd_out, &buf_in, 8) < 8) {
+ perror("Error writing output file");
+ exit(1);
+ }
zstream.zalloc = NULL;
zstream.zfree = NULL;
zstream.avail_in, zstream.total_in, zstream.avail_out, zstream.total_out,
zstream.total_out-last_out);
- write(fd_out, &buf_out, zstream.total_out-last_out);
+ if (write(fd_out, &buf_out, zstream.total_out - last_out) < zstream.total_out - last_out) {
+ perror("Error writing output file");
+ exit(1);
+ }
i += len;
buf_in[3] = ((zstream.total_out+8) >> 24) & 0xff;
lseek(fd_out, 4, SEEK_SET);
- write(fd_out, &buf_in, 4);
+ if (write(fd_out, &buf_in, 4) < 4) {
+ perror("Error writing output file");
+ exit(1);
+ }
}
inflateEnd(&zstream);