Commit 7d97d0ae authored by Max Kellermann's avatar Max Kellermann

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.
parent f6dc9bca
......@@ -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;
......
......@@ -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 */
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment