This is the mail archive of the
binutils-cvs@sourceware.org
mailing list for the binutils project.
[binutils-gdb] Fix warn-unused-return message.
- From: Cary Coutant <ccoutant at sourceware dot org>
- To: bfd-cvs at sourceware dot org
- Date: 24 Mar 2018 06:34:37 -0000
- Subject: [binutils-gdb] Fix warn-unused-return message.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=8da9a904f41bb78fca5568fb94004120682b1653
commit 8da9a904f41bb78fca5568fb94004120682b1653
Author: Cary Coutant <ccoutant@gmail.com>
Date: Fri Mar 23 23:33:47 2018 -0700
Fix warn-unused-return message.
gold/
* plugin.cc (link_or_copy_file): Remove newlines from warning messages.
Add pedantic check for return value from ::write.
Diff:
---
gold/ChangeLog | 5 +++++
gold/plugin.cc | 13 ++++++++++---
2 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/gold/ChangeLog b/gold/ChangeLog
index f0f0d5c..7364a63 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,5 +1,10 @@
2018-03-23 Cary Coutant <ccoutant@gmail.com>
+ * plugin.cc (link_or_copy_file): Remove newlines from warning messages.
+ Add pedantic check for return value from ::write.
+
+2018-03-23 Cary Coutant <ccoutant@gmail.com>
+
* debug.h (DEBUG_PLUGIN): New constant.
(DEBUG_ALL): Add DEBUG_PLUGIN.
(debug_string_to_enum): Likewise.
diff --git a/gold/plugin.cc b/gold/plugin.cc
index b12a7a9..c921f7c 100644
--- a/gold/plugin.cc
+++ b/gold/plugin.cc
@@ -568,19 +568,26 @@ link_or_copy_file(const char* inname, const char* outname)
int in = ::open(inname, O_RDONLY);
if (in < 0)
{
- gold_warning(_("%s: can't open (%s)\n"), inname, strerror(errno));
+ gold_warning(_("%s: can't open (%s)"), inname, strerror(errno));
return false;
}
int out = ::open(outname, O_CREAT | O_TRUNC | O_WRONLY, 0600);
if (out < 0)
{
- gold_warning(_("%s: can't create (%s)\n"), outname, strerror(errno));
+ gold_warning(_("%s: can't create (%s)"), outname, strerror(errno));
::close(in);
return false;
}
ssize_t len;
while ((len = ::read(in, buf, sizeof(buf))) > 0)
- static_cast<void>(::write(out, buf, len));
+ {
+ if (::write(out, buf, len) != len)
+ {
+ gold_warning(_("%s: write error while making copy of file (%s)"),
+ inname, strerror(errno));
+ break;
+ }
+ }
::close(in);
::close(out);
return true;