From 167b640188a4ade1ef4a7c087541cbf63da0de57 Mon Sep 17 00:00:00 2001 From: Harry Jeffery Date: Mon, 21 Jan 2019 22:43:56 +0000 Subject: Make backends self-describing --- src/backend_freeimage.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) (limited to 'src/backend_freeimage.c') 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; } -- cgit v1.2.3