[gvfs] smb: Avoid "Error: Success" failure messages



commit 84e95d8883b0e9b59b596b0447415ff8dae0a14f
Author: Ondrej Holy <oholy redhat com>
Date:   Wed Feb 28 11:09:03 2018 +0100

    smb: Avoid "Error: Success" failure messages
    
    Save the failed errno as soon as possible to avoid "Error: Success" type
    of messages.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=793515

 daemon/gvfsbackendsmb.c |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)
---
diff --git a/daemon/gvfsbackendsmb.c b/daemon/gvfsbackendsmb.c
index 9040a9c..147872d 100644
--- a/daemon/gvfsbackendsmb.c
+++ b/daemon/gvfsbackendsmb.c
@@ -385,6 +385,7 @@ do_mount (GVfsBackend *backend,
   gchar *port_str;
   GMountSpec *smb_mount_spec;
   smbc_stat_fn smbc_stat;
+  int errsv;
 
   smb_context = smbc_new_context ();
   if (smb_context == NULL)
@@ -470,6 +471,8 @@ do_mount (GVfsBackend *backend,
   op_backend->mount_try = 0;
   op_backend->password_save = G_PASSWORD_SAVE_NEVER;
 
+  errsv = 0;
+
   do
     {
       op_backend->mount_try_again = FALSE;
@@ -480,14 +483,15 @@ do_mount (GVfsBackend *backend,
       smbc_stat = smbc_getFunctionStat (smb_context);
       res = smbc_stat (smb_context, uri, &st);
 
+      errsv = errno;
       g_debug ("do_mount - [%s; %d] res = %d, cancelled = %d, errno = [%d] '%s' \n",
              uri, op_backend->mount_try, res, op_backend->mount_cancelled,
-             errno, g_strerror (errno));
+             errsv, g_strerror (errsv));
 
       if (res == 0)
         break;
 
-      if (op_backend->mount_cancelled || (errno != EACCES && errno != EPERM))
+      if (op_backend->mount_cancelled || (errsv != EACCES && errsv != EPERM))
         {
           g_debug ("do_mount - (errno != EPERM && errno != EACCES), cancelled = %d, breaking\n", 
op_backend->mount_cancelled);
           break;
@@ -526,7 +530,7 @@ do_mount (GVfsBackend *backend,
         g_vfs_job_failed (G_VFS_JOB (job),
                          G_IO_ERROR, G_IO_ERROR_FAILED,
                          /* translators: We tried to mount a windows (samba) share, but failed */
-                         _("Failed to mount Windows share: %s"), g_strerror (errno));
+                         _("Failed to mount Windows share: %s"), g_strerror (errsv));
 
       return;
     }


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