diff options
author | Tushar Gohad <tushar.gohad@intel.com> | 2014-07-07 15:37:14 -0700 |
---|---|---|
committer | Tushar Gohad <tushar.gohad@intel.com> | 2014-07-07 15:37:14 -0700 |
commit | 6e600786f16bbcfbcaef9f0da7af7d5418f40c62 (patch) | |
tree | eebe4eb54b8208eae6ff9faf0ca3b3c58e637d01 /src | |
parent | 411e53aae74384b3d3c5d1882d4b57f555391ce1 (diff) | |
download | liberasurecode-6e600786f16bbcfbcaef9f0da7af7d5418f40c62.tar.gz |
Add wrapper for dlerror()
Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/erasurecode.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/erasurecode.c b/src/erasurecode.c index a26d42b..0142f44 100644 --- a/src/erasurecode.c +++ b/src/erasurecode.c @@ -97,6 +97,15 @@ int liberasurecode_backend_supported(const char *name) return (liberasurecode_backend_lookup_by_name(name) != NULL); } +static void print_dlerror(const char *caller) +{ + char *msg = dlerror(); + if (NULL == msg) + fprintf (stderr, "%s: unknown dynamic linking error\n", caller); + else + fprintf (stderr, "%s: dynamic linking error %s\n", caller, msg); +} + /* Generic dlopen/dlclose routines */ int liberasurecode_backend_open(ec_backend_t instance) { @@ -107,7 +116,7 @@ int liberasurecode_backend_open(ec_backend_t instance) /* Use RTLD_LOCAL to avoid symbol collisions */ instance->handle = dlopen(instance->common.soname, RTLD_LAZY | RTLD_LOCAL); if (NULL == instance->handle) { - fprintf(stderr, "%s\n", dlerror()); + print_dlerror(__func__); return -EBACKENDNOTAVAIL; } |