From: habu Date: Tue, 26 Feb 2013 07:53:04 +0000 (+0000) Subject: Use return value of write function X-Git-Tag: v2.1.2~37 X-Git-Url: http://git.osdn.net/view?p=hengband%2Fhengband.git;a=commitdiff_plain;h=96d1569d8a15d2d976f3815342fe4a9e13defbd1 Use return value of write function But fd_copy is unused currently --- diff --git a/src/util.c b/src/util.c index d6547b84c..0da8e9743 100644 --- a/src/util.c +++ b/src/util.c @@ -661,7 +661,19 @@ errr fd_copy(cptr file, cptr what) /* Copy */ while ((read_num = read(src_fd, buf, 1024)) > 0) { - write(dst_fd, buf, read_num); + int write_num = 0; + while (write_num < read_num) + { + int ret = write(dst_fd, buf + write_num, read_num - write_num); + if (ret < 0) { + /* Close files */ + fd_close(src_fd); + fd_close(dst_fd); + + return ret; + } + write_num += ret; + } } /* Close files */