Resolves this warning:
keys-t.c: In function ‘copy’:
keys-t.c:63:6: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
write(out, block, len);
^
Change-Id: If2427f2658b428091ffba3d11643ad95f193a67d
Reviewed-on: http://gerrit.openafs.org/11957
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
copy(char *inFile, char *outFile)
{
int in, out;
- char *block;
- size_t len;
+ char *block, *block_out;
+ ssize_t len;
+ size_t len_out;
in = open(inFile, O_RDONLY);
if (in<0)
block = malloc(1024);
do {
len = read(in, block, 1024);
- if (len > 0)
- write(out, block, len);
+ if (len <= 0)
+ break;
+ len_out = len;
+ block_out = block;
+ do {
+ len = write(out, block_out, len_out);
+ if (len <= 0)
+ break;
+ block_out += len;
+ len_out -= len;
+ } while (len_out > 0);
} while (len > 0);
free(block);