bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 2/3] renameat2: port better to older Solaris


From: Paul Eggert
Subject: [PATCH 2/3] renameat2: port better to older Solaris
Date: Sun, 30 Jul 2017 11:09:19 -0700

* lib/renameat2.c (renameat2): Set ret_val properly on old Solaris.
Add goto to use a label, to silence picky compilers.
---
 ChangeLog       | 4 ++++
 lib/renameat2.c | 2 ++
 2 files changed, 6 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index 5eee4ae..ce7c46b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2017-07-30  Paul Eggert  <address@hidden>
 
+       renameat2: port better to older Solaris
+       * lib/renameat2.c (renameat2): Set ret_val properly on old Solaris.
+       Add goto to use a label, to silence picky compilers.
+
        fts-tests: port to gcc -Wwrite-strings
        * tests/test-fts.c (base, base_d): New static vars.
        (argv, remove_tree, main): Use them.
diff --git a/lib/renameat2.c b/lib/renameat2.c
index e223653..4f9e3d1 100644
--- a/lib/renameat2.c
+++ b/lib/renameat2.c
@@ -147,6 +147,7 @@ renameat2 (int fd1, char const *src, int fd2, char const 
*dst,
   /* See the lengthy comment in rename.c why Solaris 9 is forced to
      GNU behavior, while Solaris 10 is left with POSIX behavior,
      regarding symlinks with trailing slash.  */
+  ret_val = -1;
   if (src_slash)
     {
       src_temp = strdup (src);
@@ -194,6 +195,7 @@ renameat2 (int fd1, char const *src, int fd2, char const 
*dst,
 
   ret_val = renameat (fd1, src_temp, fd2, dst_temp);
   rename_errno = errno;
+  goto out;
  out:
   if (src_temp != src)
     free (src_temp);
-- 
2.7.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]