diff options
author | Bastien Nocera <hadess@hadess.net> | 2018-02-16 17:08:13 +0100 |
---|---|---|
committer | Ondrej Holy <oholy@redhat.com> | 2018-02-28 11:05:46 +0100 |
commit | 20e2a9660de7568a7e0a8084fe21d80f14a8851f (patch) | |
tree | 7c11bb72554eff943ca4a439689de9f4711f5161 | |
parent | 7a4145dd21d84d1919ce7d4993fb4cfb5c5bf164 (diff) | |
download | gvfs-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.c | 10 |
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; } |