[librsvg: 15/18] rsvg_acquire_gvfs_data: Don't resolve relative files here; we get passed a full URI
- From: Federico Mena Quintero <federico src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg: 15/18] rsvg_acquire_gvfs_data: Don't resolve relative files here; we get passed a full URI
- Date: Fri, 23 Nov 2018 22:32:45 +0000 (UTC)
commit 8b01a9411e54cf9fe164420fc2e30e82c0ceb804
Author: Federico Mena Quintero <federico gnome org>
Date: Fri Nov 23 15:11:57 2018 -0600
rsvg_acquire_gvfs_data: Don't resolve relative files here; we get passed a full URI
librsvg/rsvg-handle.c | 1 -
librsvg/rsvg-io.c | 27 ++++++++-------------------
librsvg/rsvg-io.h | 1 -
3 files changed, 8 insertions(+), 21 deletions(-)
---
diff --git a/librsvg/rsvg-handle.c b/librsvg/rsvg-handle.c
index 61cea922..13bb0aad 100644
--- a/librsvg/rsvg-handle.c
+++ b/librsvg/rsvg-handle.c
@@ -1676,7 +1676,6 @@ _rsvg_handle_acquire_data (RsvgHandle *handle,
if (allow_load (priv->base_gfile, uri, error)) {
data = _rsvg_io_acquire_data (uri,
- rsvg_handle_get_base_uri (handle),
content_type,
len,
handle->priv->cancellable,
diff --git a/librsvg/rsvg-io.c b/librsvg/rsvg-io.c
index f07ee462..a7a69ebf 100644
--- a/librsvg/rsvg-io.c
+++ b/librsvg/rsvg-io.c
@@ -78,13 +78,12 @@ rsvg_acquire_gvfs_stream (const char *uri,
static char *
rsvg_acquire_gvfs_data (const char *uri,
- const char *base_uri,
char **out_mime_type,
gsize *out_len,
GCancellable *cancellable,
GError **error)
{
- GFile *base, *file;
+ GFile *file;
GError *err;
char *data;
gsize len;
@@ -95,24 +94,15 @@ rsvg_acquire_gvfs_data (const char *uri,
err = NULL;
data = NULL;
- if (!(res = g_file_load_contents (file, cancellable, &data, &len, NULL, &err)) &&
- g_error_matches (err, G_IO_ERROR, G_IO_ERROR_NOT_FOUND) &&
- base_uri != NULL) {
- g_clear_error (&err);
- g_object_unref (file);
-
- base = g_file_new_for_uri (base_uri);
- file = g_file_resolve_relative_path (base, uri);
- g_object_unref (base);
- res = g_file_load_contents (file, cancellable, &data, &len, NULL, &err);
- }
+ res = g_file_load_contents (file, cancellable, &data, &len, NULL, &err);
g_object_unref (file);
-
- if (err) {
- g_propagate_error (error, err);
- return NULL;
+ if (!res) {
+ if (err) {
+ g_propagate_error (error, err);
+ return NULL;
+ }
}
if (out_mime_type &&
@@ -127,7 +117,6 @@ rsvg_acquire_gvfs_data (const char *uri,
char *
_rsvg_io_acquire_data (const char *uri,
- const char *base_uri,
char **mime_type,
gsize *len,
GCancellable *cancellable,
@@ -148,7 +137,7 @@ _rsvg_io_acquire_data (const char *uri,
if (strncmp (uri, "data:", 5) == 0)
return rsvg_decode_data_uri (uri, mime_type, len, error);
- if ((data = rsvg_acquire_gvfs_data (uri, base_uri, mime_type, len, cancellable, error)))
+ if ((data = rsvg_acquire_gvfs_data (uri, mime_type, len, cancellable, error)))
return data;
return NULL;
diff --git a/librsvg/rsvg-io.h b/librsvg/rsvg-io.h
index 93400517..831dd582 100644
--- a/librsvg/rsvg-io.h
+++ b/librsvg/rsvg-io.h
@@ -27,7 +27,6 @@
#include <gio/gio.h>
char *_rsvg_io_acquire_data (const char *uri,
- const char *base_uri,
char **mime_type,
gsize *len,
GCancellable *cancellable,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]