X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/2e9ba080dd30434f3e8f88e63029280889586a32..HEAD:/server/plugin.c diff --git a/server/plugin.c b/server/plugin.c index 7afbde9..6856e71 100644 --- a/server/plugin.c +++ b/server/plugin.c @@ -1,6 +1,6 @@ /* * This file is part of DisOrder. - * Copyright (C) 2004-2008 Richard Kettlewell + * Copyright (C) 2004-2009, 2011 Richard Kettlewell * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -28,9 +28,15 @@ # define SOSUFFIX ".so" #endif +/** @brief A loaded plugin */ struct plugin { + /** @brief Next plugin */ struct plugin *next; + + /** @brief Handle returned from dlopen() */ void *dlhandle; + + /** @brief Plugin name */ const char *name; }; @@ -74,7 +80,7 @@ function_t *get_plugin_function(const struct plugin *pl, const char *symbol) { function_t *f; - f = (function_t *)dlsym(pl->dlhandle, symbol); + f = (function_t *)dlfunc(pl->dlhandle, symbol); if(!f) disorder_fatal(0, "error looking up function '%s' in '%s': %s", symbol, pl->name, dlerror());