It helps reading the code when variables used for the same purpose, with the
same semantics, have the same name.

Currently:
  - 87 files used 'saved_errno',
  - 10 files use 'e',
  - 6 files use 'err',
  - 1 file uses 'save'.

Since 'saved_errno' is widely used, descriptive, and unambiguous, there is
some benefit to converging on this one.


2025-12-04  Bruno Haible  <[email protected]>

        Rename some local variables.
        * lib/backupfile.c (backupfile_internal): Rename e to saved_errno.
        * lib/dirchownmod.c (dirchownmod): Likewise.
        * lib/exclude.c (add_exclude_file): Likewise.
        * lib/fd-safer.c (fd_safer): Likewise.
        * lib/fd-safer-flag.c (fd_safer_flag): Likewise.
        * lib/fopen-safer.c (fopen_safer): Likewise.
        * lib/pipe2-safer.c (pipe2_safer): Likewise.
        * lib/quotearg.c (clone_quoting_options, quotearg_buffer,
        quotearg_alloc_mem, quotearg_n_options): Likewise.
        * lib/savewd.c (savewd_chdir): Likewise.
        * lib/tmpfile-safer.c (tmpfile_safer): Likewise.
        * lib/file-has-acl.c (acl_get_link_np): Rename err to saved_errno.
        * lib/free.c (rpl_free): Likewise.
        * lib/fts.c (fts_build, fts_lfree): Likewise.
        * lib/getloadavg.c (getloadavg): Likewise.
        * lib/hash.c (hash_free, hash_rehash): Likewise.
        * lib/time_rz.c (tzfree): Likewise.
        * lib/scandir.c (SCANDIR): Rename save to saved_errno.

diff --git a/lib/backupfile.c b/lib/backupfile.c
index cfbc901efe..4dfc4614a1 100644
--- a/lib/backupfile.c
+++ b/lib/backupfile.c
@@ -375,13 +375,13 @@ backupfile_internal (int dir_fd, char const *file,
       unsigned flags = backup_type == simple_backups ? 0 : RENAME_NOREPLACE;
       if (renameatu (dir_fd, file + offset, dir_fd, s + offset, flags) == 0)
         break;
-      int e = errno;
-      if (! (e == EEXIST && extended))
+      int saved_errno = errno;
+      if (! (saved_errno == EEXIST && extended))
         {
           if (dirp)
             closedir (dirp);
           free (s);
-          errno = e;
+          errno = saved_errno;
           return NULL;
         }
     }
diff --git a/lib/dirchownmod.c b/lib/dirchownmod.c
index ab009a3379..6682ffcce0 100644
--- a/lib/dirchownmod.c
+++ b/lib/dirchownmod.c
@@ -137,9 +137,9 @@ dirchownmod (int fd, char const *dir, mode_t mkdir_mode,
         result = close (fd);
       else
         {
-          int e = errno;
+          int saved_errno = errno;
           close (fd);
-          errno = e;
+          errno = saved_errno;
         }
     }
 
diff --git a/lib/exclude.c b/lib/exclude.c
index 209f81130d..0faa188533 100644
--- a/lib/exclude.c
+++ b/lib/exclude.c
@@ -666,9 +666,9 @@ add_exclude_file (void (*add_func) (struct exclude *, char 
const *, int),
   if (!in)
     return -1;
   int rc = add_exclude_fp (call_addfn, ex, in, options, line_end, &add_func);
-  int e = errno;
+  int saved_errno = errno;
   if (fclose (in) < 0)
     return -1;
-  errno = e;
+  errno = saved_errno;
   return rc;
 }
diff --git a/lib/fd-safer-flag.c b/lib/fd-safer-flag.c
index 29f2eabaee..414016e0fd 100644
--- a/lib/fd-safer-flag.c
+++ b/lib/fd-safer-flag.c
@@ -42,9 +42,9 @@ fd_safer_flag (int fd, int flag)
   if (STDIN_FILENO <= fd && fd <= STDERR_FILENO)
     {
       int f = dup_safer_flag (fd, flag);
-      int e = errno;
+      int saved_errno = errno;
       close (fd);
-      errno = e;
+      errno = saved_errno;
       fd = f;
     }
 
diff --git a/lib/fd-safer.c b/lib/fd-safer.c
index 25f4eb56a3..4c22a0ea41 100644
--- a/lib/fd-safer.c
+++ b/lib/fd-safer.c
@@ -39,9 +39,9 @@ fd_safer (int fd)
   if (STDIN_FILENO <= fd && fd <= STDERR_FILENO)
     {
       int f = dup_safer (fd);
-      int e = errno;
+      int saved_errno = errno;
       close (fd);
-      errno = e;
+      errno = saved_errno;
       fd = f;
     }
 
diff --git a/lib/file-has-acl.c b/lib/file-has-acl.c
index b1eb1f2e8e..9a5a18aabc 100644
--- a/lib/file-has-acl.c
+++ b/lib/file-has-acl.c
@@ -399,9 +399,9 @@ acl_get_link_np (char const *name, acl_type_t type)
   if (fd < 0)
     return NULL;
   acl_t r = acl_get_fd (fd);
-  int err = errno;
+  int saved_errno = errno;
   close (fd);
-  errno = err;
+  errno = saved_errno;
   return r;
 }
 #   define HAVE_ACL_GET_LINK_NP 1
diff --git a/lib/fopen-safer.c b/lib/fopen-safer.c
index 5949c25bdb..59ab9be06f 100644
--- a/lib/fopen-safer.c
+++ b/lib/fopen-safer.c
@@ -42,18 +42,18 @@ fopen_safer (char const *file, char const *mode)
 
           if (f < 0)
             {
-              int e = errno;
+              int saved_errno = errno;
               fclose (fp);
-              errno = e;
+              errno = saved_errno;
               return NULL;
             }
 
           if (fclose (fp) != 0
               || ! (fp = fdopen (f, mode)))
             {
-              int e = errno;
+              int saved_errno = errno;
               close (f);
-              errno = e;
+              errno = saved_errno;
               return NULL;
             }
         }
diff --git a/lib/free.c b/lib/free.c
index 394d8d1390..3a6577f13f 100644
--- a/lib/free.c
+++ b/lib/free.c
@@ -44,9 +44,9 @@ rpl_free (void *p)
   free (p);
   errno = err[errno == 0];
 # else
-  int err = errno;
+  int saved_errno = errno;
   free (p);
-  errno = err;
+  errno = saved_errno;
 # endif
 }
 
diff --git a/lib/fts.c b/lib/fts.c
index 9e7c05b5d7..2adce8fa44 100644
--- a/lib/fts.c
+++ b/lib/fts.c
@@ -1350,9 +1350,9 @@ fts_build (register FTS *sp, int type)
                   cur->fts_info = FTS_D;
                 else if (! enter_dir (sp, cur))
                   {
-                    int err = errno;
+                    int saved_errno = errno;
                     closedir_and_clear (cur->fts_dirp);
-                    __set_errno (err);
+                    __set_errno (saved_errno);
                     return NULL;
                   }
               }
@@ -1950,7 +1950,7 @@ internal_function
 fts_lfree (register FTSENT *head)
 {
         register FTSENT *p;
-        int err = errno;
+        int saved_errno = errno;
 
         /* Free a linked list of structures. */
         while ((p = head)) {
@@ -1960,7 +1960,7 @@ fts_lfree (register FTSENT *head)
                 free(p);
         }
 
-        __set_errno (err);
+        __set_errno (saved_errno);
 }
 
 /*
diff --git a/lib/getloadavg.c b/lib/getloadavg.c
index f9ed97b04b..ec7305f5d4 100644
--- a/lib/getloadavg.c
+++ b/lib/getloadavg.c
@@ -551,11 +551,11 @@ getloadavg (double loadavg[], int nelem)
   if (fd < 0)
     return fd;
   int nread = read (fd, readbuf, sizeof readbuf - 1);
-  int err = errno;
+  int saved_errno = errno;
   close (fd);
   if (nread < 0)
     {
-      errno = err;
+      errno = saved_errno;
       return -1;
     }
   readbuf[nread] = '\0';
diff --git a/lib/hash.c b/lib/hash.c
index ed03a8695c..a0085de3cb 100644
--- a/lib/hash.c
+++ b/lib/hash.c
@@ -531,7 +531,7 @@ void
 hash_free (Hash_table *table)
 {
   struct hash_entry *next;
-  int err = errno;
+  int saved_errno = errno;
 
   /* Call the user data_freer function.  */
   if (table->data_freer && table->n_entries)
@@ -579,7 +579,7 @@ hash_free (Hash_table *table)
   free (table->bucket);
   free (table);
 
-  errno = err;
+  errno = saved_errno;
 }
 
 /* Insertion and deletion.  */
@@ -840,14 +840,14 @@ hash_rehash (Hash_table *table, size_t candidate)
      passes.  Two passes give worse cache performance and takes
      longer, but at this point, we're already out of memory, so slow
      and safe is better than failure.  */
-  int err = errno;
+  int saved_errno = errno;
   table->free_entry_list = new_table->free_entry_list;
   if (! (transfer_entries (table, new_table, true)
          && transfer_entries (table, new_table, false)))
     abort ();
   /* table->n_entries already holds its value.  */
   free (new_table->bucket);
-  errno = err;
+  errno = saved_errno;
   return false;
 }
 
diff --git a/lib/pipe2-safer.c b/lib/pipe2-safer.c
index 89ae3ff6f5..347421ab75 100644
--- a/lib/pipe2-safer.c
+++ b/lib/pipe2-safer.c
@@ -38,9 +38,9 @@ pipe2_safer (int fd[2], int flags)
           fd[i] = fd_safer_flag (fd[i], flags);
           if (fd[i] < 0)
             {
-              int e = errno;
+              int saved_errno = errno;
               close (fd[1 - i]);
-              errno = e;
+              errno = saved_errno;
               return -1;
             }
         }
diff --git a/lib/quotearg.c b/lib/quotearg.c
index ab87d741d2..b3c1c9ae4a 100644
--- a/lib/quotearg.c
+++ b/lib/quotearg.c
@@ -112,10 +112,10 @@ static struct quoting_options default_quoting_options;
 struct quoting_options *
 clone_quoting_options (struct quoting_options *o)
 {
-  int e = errno;
+  int saved_errno = errno;
   struct quoting_options *p = xmemdup (o ? o : &default_quoting_options,
                                        sizeof *o);
-  errno = e;
+  errno = saved_errno;
   return p;
 }
 
@@ -774,11 +774,11 @@ quotearg_buffer (char *buffer, size_t buffersize,
                  struct quoting_options const *o)
 {
   struct quoting_options const *p = o ? o : &default_quoting_options;
-  int e = errno;
+  int saved_errno = errno;
   size_t r = quotearg_buffer_restyled (buffer, buffersize, arg, argsize,
                                        p->style, p->flags, p->quote_these_too,
                                        p->left_quote, p->right_quote);
-  errno = e;
+  errno = saved_errno;
   return r;
 }
 
@@ -800,7 +800,7 @@ quotearg_alloc_mem (char const *arg, size_t argsize, size_t 
*size,
                     struct quoting_options const *o)
 {
   struct quoting_options const *p = o ? o : &default_quoting_options;
-  int e = errno;
+  int saved_errno = errno;
   /* Elide embedded null bytes if we can't return a size.  */
   int flags = p->flags | (size ? 0 : QA_ELIDE_NULL_BYTES);
   size_t bufsize = quotearg_buffer_restyled (NULL, 0, arg, argsize, p->style,
@@ -811,7 +811,7 @@ quotearg_alloc_mem (char const *arg, size_t argsize, size_t 
*size,
   quotearg_buffer_restyled (buf, bufsize, arg, argsize, p->style, flags,
                             p->quote_these_too,
                             p->left_quote, p->right_quote);
-  errno = e;
+  errno = saved_errno;
   if (size)
     *size = bufsize - 1;
   return buf;
@@ -864,7 +864,7 @@ static char *
 quotearg_n_options (int n, char const *arg, size_t argsize,
                     struct quoting_options const *options)
 {
-  int e = errno;
+  int saved_errno = errno;
 
   struct slotvec *sv = slotvec;
 
@@ -908,7 +908,7 @@ quotearg_n_options (int n, char const *arg, size_t argsize,
                                   options->right_quote);
       }
 
-    errno = e;
+    errno = saved_errno;
     return val;
   }
 }
diff --git a/lib/savewd.c b/lib/savewd.c
index 7230f3d99b..17c73c7df7 100644
--- a/lib/savewd.c
+++ b/lib/savewd.c
@@ -172,9 +172,9 @@ savewd_chdir (struct savewd *wd, char const *dir, int 
options,
 
   if (0 <= fd && ! open_result)
     {
-      int e = errno;
+      int saved_errno = errno;
       close (fd);
-      errno = e;
+      errno = saved_errno;
     }
 
   return result;
diff --git a/lib/scandir.c b/lib/scandir.c
index e16b07d470..f06ab490d8 100644
--- a/lib/scandir.c
+++ b/lib/scandir.c
@@ -122,12 +122,12 @@ SCANDIR (const char *dir,
   size_t vsize = 0;
   struct scandir_cancel_struct c;
   DIRENT_TYPE *d;
-  int save;
+  int saved_errno;
 
   if (dp == NULL)
     return -1;
 
-  save = errno;
+  saved_errno = errno;
   __set_errno (0);
 
   c.dp = dp;
@@ -183,7 +183,7 @@ SCANDIR (const char *dir,
 
   if (__builtin_expect (errno, 0) != 0)
     {
-      save = errno;
+      saved_errno = errno;
 
       while (c.cnt > 0)
         free (v[--c.cnt]);
@@ -204,7 +204,7 @@ SCANDIR (const char *dir,
 #endif
 
   (void) __closedir (dp);
-  __set_errno (save);
+  __set_errno (saved_errno);
 
   return c.cnt;
 }
diff --git a/lib/time_rz.c b/lib/time_rz.c
index 8a8eb44c35..116ac39ad2 100644
--- a/lib/time_rz.c
+++ b/lib/time_rz.c
@@ -57,9 +57,9 @@ void
 tzfree (timezone_t tz)
 # undef tzfree
 {
-  int err = errno;
+  int saved_errno = errno;
   tzfree (tz);
-  errno = err;
+  errno = saved_errno;
 }
 
 #else
diff --git a/lib/tmpfile-safer.c b/lib/tmpfile-safer.c
index 99bcc2ad89..bd31368f6f 100644
--- a/lib/tmpfile-safer.c
+++ b/lib/tmpfile-safer.c
@@ -46,9 +46,9 @@ tmpfile_safer (void)
 
           if (f < 0)
             {
-              int e = errno;
+              int saved_errno = errno;
               fclose (fp);
-              errno = e;
+              errno = saved_errno;
               return NULL;
             }
 
@@ -57,9 +57,9 @@ tmpfile_safer (void)
           if (fclose (fp) != 0
               || ! (fp = fdopen (f, O_BINARY ? "wb+" : "w+")))
             {
-              int e = errno;
+              int saved_errno = errno;
               close (f);
-              errno = e;
+              errno = saved_errno;
               return NULL;
             }
         }




Reply via email to