diff options
author | Sergei Golubchik <serg@mariadb.org> | 2017-03-05 15:50:32 +0100 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2017-03-10 18:21:26 +0100 |
commit | 6cddd12ad6eeea82b1087574e5dd5cb9accd7641 (patch) | |
tree | 5b3ac96d47d06c4345b19383c12e0c54bcdd2fc6 /sql | |
parent | 2b1bbac5fa881b8e135dbad3e0ff6b9e2763e24d (diff) | |
download | mariadb-git-6cddd12ad6eeea82b1087574e5dd5cb9accd7641.tar.gz |
make sql_udf.cc to shorten dlerror() messages
just as sql_plugin.cc does
Diffstat (limited to 'sql')
-rw-r--r-- | sql/sql_plugin.cc | 12 | ||||
-rw-r--r-- | sql/sql_udf.cc | 9 |
2 files changed, 6 insertions, 15 deletions
diff --git a/sql/sql_plugin.cc b/sql/sql_plugin.cc index 4ba9b82cf47..14c9071a283 100644 --- a/sql/sql_plugin.cc +++ b/sql/sql_plugin.cc @@ -723,7 +723,7 @@ static st_plugin_dl *plugin_dl_add(const LEX_STRING *dl, int report) { #ifdef HAVE_DLOPEN char dlpath[FN_REFLEN]; - uint plugin_dir_len, dummy_errors, dlpathlen, i; + uint plugin_dir_len, dummy_errors, i; struct st_plugin_dl *tmp= 0, plugin_dl; void *sym; st_ptr_backup tmp_backup[array_elements(list_of_services)]; @@ -759,15 +759,7 @@ static st_plugin_dl *plugin_dl_add(const LEX_STRING *dl, int report) /* Open new dll handle */ if (!(plugin_dl.handle= dlopen(dlpath, RTLD_NOW))) { - const char *errmsg=dlerror(); - dlpathlen= strlen(dlpath); - if (!strncmp(dlpath, errmsg, dlpathlen)) - { // if errmsg starts from dlpath, trim this prefix. - errmsg+=dlpathlen; - if (*errmsg == ':') errmsg++; - if (*errmsg == ' ') errmsg++; - } - report_error(report, ER_CANT_OPEN_LIBRARY, dlpath, errno, errmsg); + report_error(report, ER_CANT_OPEN_LIBRARY, dlpath, errno, my_dlerror(dlpath)); goto ret; } dlopen_count++; diff --git a/sql/sql_udf.cc b/sql/sql_udf.cc index aa4859b6639..4ccd4948b58 100644 --- a/sql/sql_udf.cc +++ b/sql/sql_udf.cc @@ -227,14 +227,13 @@ void udf_init() if (dl == NULL) { char dlpath[FN_REFLEN]; - strxnmov(dlpath, sizeof(dlpath) - 1, opt_plugin_dir, "/", tmp->dl, - NullS); + strxnmov(dlpath, sizeof(dlpath) - 1, opt_plugin_dir, "/", tmp->dl, NullS); (void) unpack_filename(dlpath, dlpath); if (!(dl= dlopen(dlpath, RTLD_NOW))) { /* Print warning to log */ sql_print_error(ER_THD(new_thd, ER_CANT_OPEN_LIBRARY), - tmp->dl, errno, dlerror()); + tmp->dl, errno, my_dlerror(dlpath)); /* Keep the udf in the hash so that we can remove it later */ continue; } @@ -538,10 +537,10 @@ int mysql_create_function(THD *thd,udf_func *udf) if (!(dl = dlopen(dlpath, RTLD_NOW))) { + my_error(ER_CANT_OPEN_LIBRARY, MYF(0), + udf->dl, errno, my_dlerror(dlpath)); DBUG_PRINT("error",("dlopen of %s failed, error: %d (%s)", udf->dl, errno, dlerror())); - my_error(ER_CANT_OPEN_LIBRARY, MYF(0), - udf->dl, errno, dlerror()); goto err; } new_dl=1; |