diff options
author | Harry Jeffery <harry@exec64.co.uk> | 2019-01-21 22:43:56 +0000 |
---|---|---|
committer | Harry Jeffery <harry@exec64.co.uk> | 2019-01-29 22:26:22 +0000 |
commit | 167b640188a4ade1ef4a7c087541cbf63da0de57 (patch) | |
tree | a7501a8e2a001e00b38556ebeba57aafc684344f /src/backend_librsvg.c | |
parent | c65f6f49039885856ad823dcbe2e8fd3fe2c8210 (diff) | |
download | imv-167b640188a4ade1ef4a7c087541cbf63da0de57.tar.gz |
Make backends self-describing
Diffstat (limited to 'src/backend_librsvg.c')
-rw-r--r-- | src/backend_librsvg.c | 23 |
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; } |