Allow 0-byte files in full OTAs.

Currently, the writeProcessFunction fails when
there are zero bytes to write, potentially returning
errno from a previous operation, or hanging
indefinitely while it waits for a >0 result on a
write of size 0.  This happens when the output
file is intended to be zero bytes in size.

Change-Id: Ib3cfcaf66d82942bc89e5f5c64697862403b38da
This commit is contained in:
Michael Runge
2014-05-06 16:54:42 -07:00
parent 64e7fcd925
commit f5d9f89152
+3 -1
View File
@@ -698,7 +698,9 @@ static bool writeProcessFunction(const unsigned char *data, int dataLen,
void *cookie)
{
int fd = (int)(intptr_t)cookie;
if (dataLen == 0) {
return true;
}
ssize_t soFar = 0;
while (true) {
ssize_t n = write(fd, data+soFar, dataLen-soFar);