Fix removing elements from tables

This commit is contained in:
Athozus 2023-03-25 16:02:26 +01:00
parent 4b2a943799
commit f93be5818a
No known key found for this signature in database
GPG key ID: B50895022E8484BF

View file

@ -351,13 +351,13 @@ end
function mail.removePlayersFromMaillist(ml_id) function mail.removePlayersFromMaillist(ml_id)
local maillists_players = mail.getPlayersInMaillists() local maillists_players = mail.getPlayersInMaillists()
local updated_players = {} for i=#maillists_players,1,-1 do
for _, playerInfo in ipairs(maillists_players) do local playerInfo = maillists_players[i]
if playerInfo.id ~= ml_id then if playerInfo.id == ml_id then
table.insert(updated_players, playerInfo) table.remove(maillists_players, i)
end end
end end
if mail.write_json_file(mail.maildir .. "/mail.maillists_players.json", updated_players) then if mail.write_json_file(mail.maildir .. "/mail.maillists_players.json", maillists_players) then
return true return true
else else
minetest.log("error","[mail] Save failed!") minetest.log("error","[mail] Save failed!")
@ -464,9 +464,10 @@ end
function mail.deleteContact(owner, name) function mail.deleteContact(owner, name)
local contacts = mail.getContacts() local contacts = mail.getContacts()
for _, contact in ipairs(contacts) do for i=#contacts,1,-1 do
local contact = contacts[i]
if contact.owner == owner and contact.name == name then if contact.owner == owner and contact.name == name then
table.remove(contacts, _) table.remove(contacts, i)
end end
end end
if mail.write_json_file(mail.maildir .. "/mail.contacts.json", contacts) then if mail.write_json_file(mail.maildir .. "/mail.contacts.json", contacts) then