aboutsummaryrefslogtreecommitdiff
path: root/src/backend_librsvg.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend_librsvg.c')
-rw-r--r--src/backend_librsvg.c23
1 files changed, 11 insertions, 12 deletions
diff --git a/src/backend_librsvg.c b/src/backend_librsvg.c
index 416743a..acadb25 100644
--- a/src/backend_librsvg.c
+++ b/src/backend_librsvg.c
@@ -130,23 +130,22 @@ static enum backend_result open_path(const char *path, struct imv_source **src)
return BACKEND_SUCCESS;
}
-static void backend_free(struct imv_backend *backend)
+const struct imv_backend librsvg_backend = {
+ .name = "libRSVG",
+ .description = "SVG library developed by GNOME",
+ .website = "https://wiki.gnome.org/Projects/LibRsvg",
+ .license = "Lesser GNU Public License",
+ .open_path = &open_path,
+};
+
+const struct imv_backend *imv_backend_librsvg(void)
{
- free(backend);
-}
-
-struct imv_backend *imv_backend_librsvg(void)
-{
- struct imv_backend *backend = malloc(sizeof(struct imv_backend));
- backend->name = "librsvg (LGPL license)";
- backend->open_path = &open_path;
- backend->free = &backend_free;
- return backend;
+ return &librsvg_backend;
}
#else
-struct imv_backend *imv_backend_librsvg(void)
+const struct imv_backend *imv_backend_librsvg(void)
{
return NULL;
}