summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Nocera <hadess@hadess.net>2018-02-16 17:08:13 +0100
committerOndrej Holy <oholy@redhat.com>2018-02-28 11:05:46 +0100
commit20e2a9660de7568a7e0a8084fe21d80f14a8851f (patch)
tree7c11bb72554eff943ca4a439689de9f4711f5161
parent7a4145dd21d84d1919ce7d4993fb4cfb5c5bf164 (diff)
downloadgvfs-20e2a9660de7568a7e0a8084fe21d80f14a8851f.tar.gz
smbbrowse: Avoid "Error: Success" failure messages
Save the failed errno as soon as possible to avoid "Error: Success" type of messages. Updated by Ondrej Holy <oholy@redhat.com>. https://bugzilla.gnome.org/show_bug.cgi?id=793515
-rw-r--r--daemon/gvfsbackendsmbbrowse.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/daemon/gvfsbackendsmbbrowse.c b/daemon/gvfsbackendsmbbrowse.c
index 028118bb..4e06dc7f 100644
--- a/daemon/gvfsbackendsmbbrowse.c
+++ b/daemon/gvfsbackendsmbbrowse.c
@@ -792,6 +792,7 @@ do_mount (GVfsBackend *backend,
GMountSpec *browse_mount_spec;
smbc_opendir_fn smbc_opendir;
smbc_closedir_fn smbc_closedir;
+ int errsv;
smb_context = smbc_new_context ();
if (smb_context == NULL)
@@ -903,6 +904,8 @@ do_mount (GVfsBackend *backend,
g_debug ("do_mount - URI = %s\n", uri);
+ errsv = 0;
+
do
{
op_backend->mount_try_again = FALSE;
@@ -912,12 +915,13 @@ do_mount (GVfsBackend *backend,
dir = smbc_opendir (smb_context, uri);
+ errsv = errno;
g_debug ("do_mount - [%s; %d] dir = %p, cancelled = %d, errno = [%d] '%s' \n",
uri, op_backend->mount_try, dir, op_backend->mount_cancelled,
- errno, g_strerror (errno));
+ errsv, g_strerror (errsv));
if (dir == NULL &&
- (op_backend->mount_cancelled || (errno != EPERM && errno != EACCES)))
+ (op_backend->mount_cancelled || (errsv != EPERM && errsv != EACCES)))
{
g_debug ("do_mount - (errno != EPERM && errno != EACCES), cancelled = %d, breaking\n", op_backend->mount_cancelled);
break;
@@ -965,7 +969,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 retrieve share list from server: %s"), g_strerror (errno));
+ _("Failed to retrieve share list from server: %s"), g_strerror (errsv));
return;
}