This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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;


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]