# HG changeset patch # User Kim Alvefur # Date 1427301569 -3600 # Node ID 0fcd63818aa1ce262ab2f5bb9697aa2c4cec5524 # Parent 36eb0dbea7baaff247e724fad2aa86114ff235f9 mod_storage_gdbm: Make write operation delete data when passed 'nil' as value instead of storing a literal "nil" string diff -r 36eb0dbea7ba -r 0fcd63818aa1 mod_storage_gdbm/mod_storage_gdbm.lua --- a/mod_storage_gdbm/mod_storage_gdbm.lua Wed Mar 25 17:37:52 2015 +0100 +++ b/mod_storage_gdbm/mod_storage_gdbm.lua Wed Mar 25 17:39:29 2015 +0100 @@ -42,7 +42,13 @@ local keyval_mt = { __index = keyval, suffix = ".db" }; function keyval:set(user, value) - local ok, err = g_set(self._db, user or "@", serialize(value)); + if type(value) == "table" and next(value) == nil then + value = nil; + end + if value ~= nil then + value = serialize(value); + end + local ok, err = (value and g_set or g_del)(self._db, user or "@", value); if not ok then return nil, err; end return true; end