diff options
author | Jens Finke <jens@triq.net> | 2004-01-14 20:22:04 +0000 |
---|---|---|
committer | Jens Finke <jens@src.gnome.org> | 2004-01-14 20:22:04 +0000 |
commit | 05f051931ee4ef69c06db8c1d118d8cb1b40a563 (patch) | |
tree | 8b610217ce556360ddbd9709b8e1a3160cbb3dd3 | |
parent | 0c883f8896aaae99f5ee28db378a7c875b450d3a (diff) | |
download | eog-05f051931ee4ef69c06db8c1d118d8cb1b40a563.tar.gz |
Deal with uri == NULL. Fixes bug #130726 partly, at least doesn't crash
2004-01-14 Jens Finke <jens@triq.net>
* shell/main.c (sort_files): Deal with uri == NULL. Fixes bug
#130726 partly, at least doesn't crash anymore.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | shell/main.c | 27 |
2 files changed, 22 insertions, 10 deletions
@@ -1,3 +1,8 @@ +2004-01-14 Jens Finke <jens@triq.net> + + * shell/main.c (sort_files): Deal with uri == NULL. Fixes bug + #130726 partly, at least doesn't crash anymore. + 2003-11-06 Breda McColgan <Breda.McColgan@sun.com> * help/C/eog.xml: Updated for GNOME 2.4.2 diff --git a/shell/main.c b/shell/main.c index 83fba9f9..def278ed 100644 --- a/shell/main.c +++ b/shell/main.c @@ -170,18 +170,23 @@ sort_files (GList *files, GList **file_list, GList **dir_list, GList **error_lis for (it = files; it != NULL; it = it->next) { GnomeVFSURI *uri; - GnomeVFSResult result; + GnomeVFSResult result = GNOME_VFS_OK; char *filename; uri = make_canonical_uri ((char*)it->data); - result = gnome_vfs_get_file_info_uri (uri, info, - GNOME_VFS_FILE_INFO_DEFAULT | - GNOME_VFS_FILE_INFO_FOLLOW_LINKS); - - filename = gnome_vfs_uri_to_string (uri, GNOME_VFS_URI_HIDE_NONE); - - if (result != GNOME_VFS_OK) + if (uri != NULL) { + result = gnome_vfs_get_file_info_uri (uri, info, + GNOME_VFS_FILE_INFO_DEFAULT | + GNOME_VFS_FILE_INFO_FOLLOW_LINKS); + + filename = gnome_vfs_uri_to_string (uri, GNOME_VFS_URI_HIDE_NONE); + } + else { + filename = g_strdup ((char*) it->data); + } + + if (result != GNOME_VFS_OK || uri == NULL) *error_list = g_list_append (*error_list, filename); else { if (info->type == GNOME_VFS_FILE_TYPE_REGULAR) @@ -191,8 +196,10 @@ sort_files (GList *files, GList **file_list, GList **dir_list, GList **error_lis else *error_list = g_list_append (*error_list, filename); } - - gnome_vfs_uri_unref (uri); + + if (uri != NULL) { + gnome_vfs_uri_unref (uri); + } gnome_vfs_file_info_clear (info); } |