plugins/mod_storage_xep0227.lua
changeset 6704 88a25c364a14
parent 6703 0103dc8fa179
child 6705 6a5c6c95cf78
--- a/plugins/mod_storage_xep0227.lua	Fri May 15 15:25:59 2015 +0200
+++ b/plugins/mod_storage_xep0227.lua	Fri May 15 15:29:05 2015 +0200
@@ -150,15 +150,10 @@
 -----------------------------
 local driver = {};
 
-function driver:open(host, datastore, typ)
-	local instance = setmetatable({}, self);
-	instance.host = host;
-	instance.datastore = datastore;
+function driver:open(datastore, typ)
 	local handler = handlers[datastore];
-	if not handler then return nil; end
-	for key,val in pairs(handler) do
-		instance[key] = val;
-	end
+	if not handler then return nil, "unsupported-datastore"; end
+	local instance = setmetatable({ host = module.host; datastore = datastore; }, { __index = handler });
 	if instance.init then instance:init(); end
 	return instance;
 end