aboutsummaryrefslogtreecommitdiff
path: root/src/backend_freeimage.c
diff options
context:
space:
mode:
authorHarry Jeffery <harry@exec64.co.uk>2019-01-21 22:43:56 +0000
committerHarry Jeffery <harry@exec64.co.uk>2019-01-29 22:26:22 +0000
commit167b640188a4ade1ef4a7c087541cbf63da0de57 (patch)
treea7501a8e2a001e00b38556ebeba57aafc684344f /src/backend_freeimage.c
parentc65f6f49039885856ad823dcbe2e8fd3fe2c8210 (diff)
downloadimv-167b640188a4ade1ef4a7c087541cbf63da0de57.tar.gz
Make backends self-describing
Diffstat (limited to 'src/backend_freeimage.c')
-rw-r--r--src/backend_freeimage.c21
1 files changed, 10 insertions, 11 deletions
diff --git a/src/backend_freeimage.c b/src/backend_freeimage.c
index 9443075..0032e31 100644
--- a/src/backend_freeimage.c
+++ b/src/backend_freeimage.c
@@ -258,23 +258,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)
-{
- free(backend);
-}
+const struct imv_backend freeimage_backend = {
+ .name = "FreeImage",
+ .description = "Open source image library supporting a large number of formats",
+ .website = "http://freeimage.sourceforge.net/",
+ .license = "FreeImage Public License v1.0",
+ .open_path = &open_path,
+};
-struct imv_backend *imv_backend_freeimage(void)
+const struct imv_backend *imv_backend_freeimage(void)
{
- struct imv_backend *backend = malloc(sizeof(struct imv_backend));
- backend->name = "FreeImage (FIPL v1.0 license)";
- backend->open_path = &open_path;
- backend->free = &backend_free;
- return backend;
+ return &freeimage_backend;
}
#else
-struct imv_backend *imv_backend_freeimage(void)
+const struct imv_backend *imv_backend_freeimage(void)
{
return NULL;
}