diff --git a/obexd/plugins/mas.c b/obexd/plugins/mas.c
index a84b8fd..761c23b 100644
--- a/obexd/plugins/mas.c
+++ b/obexd/plugins/mas.c
{
int err;
+ err = messages_init();
+ if (err < 0)
+ return err;
+
err = obex_mime_type_driver_register(&mime_map);
if (err < 0)
goto failed_mime;
obex_mime_type_driver_unregister(&mime_map);
failed_mime:
+ messages_exit();
+
return err;
}
{
obex_service_driver_unregister(&mas);
obex_mime_type_driver_unregister(&mime_map);
+ messages_exit();
}
OBEX_PLUGIN_DEFINE(mas, mas_init, mas_exit)
diff --git a/obexd/plugins/messages-dummy.c b/obexd/plugins/messages-dummy.c
index a536d81..3af624d 100644
--- a/obexd/plugins/messages-dummy.c
+++ b/obexd/plugins/messages-dummy.c
#endif
#include <errno.h>
+#include <stdlib.h>
#include "messages.h"
+static char *root_folder = NULL;
+
int messages_init(void)
{
+ char *tmp;
+
+ if (root_folder)
+ return 0;
+
+ tmp = getenv("MAP_ROOT");
+ if (tmp) {
+ root_folder = g_strdup(tmp);
+ return 0;
+ }
+
+ tmp = getenv("HOME");
+ if (!tmp)
+ return -ENOENT;
+
+ root_folder = g_build_filename(tmp, "map-messages", NULL);
+
return 0;
}
void messages_exit(void)
{
+ g_free(root_folder);
+ root_folder = NULL;
}
int messages_connect(void **session)