|
@@ -124,8 +124,7 @@ int main(int argc, char **argv)
|
|
|
if (process_ihex(data, st.st_size))
|
|
|
return 1;
|
|
|
|
|
|
- output_records(outfd);
|
|
|
- return 0;
|
|
|
+ return output_records(outfd);
|
|
|
}
|
|
|
|
|
|
static int process_ihex(uint8_t *data, ssize_t size)
|
|
@@ -269,11 +268,13 @@ static int output_records(int outfd)
|
|
|
|
|
|
p->addr = htonl(p->addr);
|
|
|
p->len = htons(p->len);
|
|
|
- write(outfd, &p->addr, writelen);
|
|
|
+ if (write(outfd, &p->addr, writelen) != writelen)
|
|
|
+ return 1;
|
|
|
p = p->next;
|
|
|
}
|
|
|
/* EOF record is zero length, since we don't bother to represent
|
|
|
the type field in the binary version */
|
|
|
- write(outfd, zeroes, 6);
|
|
|
+ if (write(outfd, zeroes, 6) != 6)
|
|
|
+ return 1;
|
|
|
return 0;
|
|
|
}
|