diff options
Diffstat (limited to 'src/image.c')
-rw-r--r-- | src/image.c | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/src/image.c b/src/image.c index b34dc3e9161..07de4d31aa8 100644 --- a/src/image.c +++ b/src/image.c @@ -3153,19 +3153,16 @@ image_find_image_fd (Lisp_Object file, int *pfd) /* Try to find FILE in data-directory/images, then x-bitmap-file-path. */ fd = openp (search_path, file, Qnil, &file_found, pfd ? Qt : make_fixnum (R_OK), false, false); - if (fd >= 0 || fd == -2) + if (fd == -2) { - file_found = ENCODE_FILE (file_found); - if (fd == -2) - { - /* The file exists locally, but has a file name handler. - (This happens, e.g., under Auto Image File Mode.) - 'openp' didn't open the file, so we should, because the - caller expects that. */ - fd = emacs_open (SSDATA (file_found), O_RDONLY, 0); - } + /* The file exists locally, but has a file name handler. + (This happens, e.g., under Auto Image File Mode.) + 'openp' didn't open the file, so we should, because the + caller expects that. */ + Lisp_Object encoded_name = ENCODE_FILE (file_found); + fd = emacs_open (SSDATA (encoded_name), O_RDONLY, 0); } - else /* fd < 0, but not -2 */ + else if (fd < 0) return Qnil; if (pfd) *pfd = fd; @@ -3173,8 +3170,8 @@ image_find_image_fd (Lisp_Object file, int *pfd) } /* Find image file FILE. Look in data-directory/images, then - x-bitmap-file-path. Value is the encoded full name of the file - found, or nil if not found. */ + x-bitmap-file-path. Value is the full name of the file found, or + nil if not found. */ Lisp_Object image_find_image_file (Lisp_Object file) |