diff options
author | Max Kellermann <max@musicpd.org> | 2020-07-20 22:12:52 +0200 |
---|---|---|
committer | Max Kellermann <max@musicpd.org> | 2020-07-20 22:23:18 +0200 |
commit | 7d97d0ae878b4076eea3a487277396df22610374 (patch) | |
tree | 5e0ce991a2d47651043c5da9254be0bf03857d20 /src/lib | |
parent | f6dc9bcad691c7cc7ef77bf0f92b8b5161cdf32f (diff) |
lib/smbclient/Init: move code to SmbclientContext::New()
We no longer need to call smbc_init() because we don't need the compat
layer anymore.
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/smbclient/Context.cxx | 19 | ||||
-rw-r--r-- | src/lib/smbclient/Init.cxx | 27 |
2 files changed, 21 insertions, 25 deletions
diff --git a/src/lib/smbclient/Context.cxx b/src/lib/smbclient/Context.cxx index 3e122bd37..f61a80042 100644 --- a/src/lib/smbclient/Context.cxx +++ b/src/lib/smbclient/Context.cxx @@ -22,6 +22,21 @@ #include <cerrno> +#include <string.h> + +static void +mpd_smbc_get_auth_data([[maybe_unused]] const char *srv, + [[maybe_unused]] const char *shr, + char *wg, [[maybe_unused]] int wglen, + char *un, [[maybe_unused]] int unlen, + char *pw, [[maybe_unused]] int pwlen) +{ + // TODO: implement + strcpy(wg, "WORKGROUP"); + strcpy(un, ""); + strcpy(pw, ""); +} + SmbclientContext SmbclientContext::New() { @@ -29,6 +44,10 @@ SmbclientContext::New() if (ctx == nullptr) throw MakeErrno("smbc_new_context() failed"); + constexpr int debug = 0; + smbc_setDebug(ctx, debug); + smbc_setFunctionAuthData(ctx, mpd_smbc_get_auth_data); + SMBCCTX *ctx2 = smbc_init_context(ctx); if (ctx2 == nullptr) { int e = errno; diff --git a/src/lib/smbclient/Init.cxx b/src/lib/smbclient/Init.cxx index 746b68925..0c148746a 100644 --- a/src/lib/smbclient/Init.cxx +++ b/src/lib/smbclient/Init.cxx @@ -18,33 +18,10 @@ */ #include "Init.hxx" -#include "Mutex.hxx" -#include "thread/Mutex.hxx" -#include "system/Error.hxx" - -#include <libsmbclient.h> - -#include <string.h> - -static void -mpd_smbc_get_auth_data([[maybe_unused]] const char *srv, - [[maybe_unused]] const char *shr, - char *wg, [[maybe_unused]] int wglen, - char *un, [[maybe_unused]] int unlen, - char *pw, [[maybe_unused]] int pwlen) -{ - // TODO: implement - strcpy(wg, "WORKGROUP"); - strcpy(un, ""); - strcpy(pw, ""); -} void SmbclientInit() { - const std::lock_guard<Mutex> protect(smbclient_mutex); - - constexpr int debug = 0; - if (smbc_init(mpd_smbc_get_auth_data, debug) < 0) - throw MakeErrno("smbc_init() failed"); + /* this is currently a no-op, but one day, we might want to + call smbc_thread_posix() here */ } |