Tim Starling has submitted this change and it was merged. Change subject: Fix LuaStandalone nil handling ......................................................................
Fix LuaStandalone nil handling In Lua, a table entry with a nil value is the same as a table entry that doesn't exist. So when serializing for transfer to PHP, these keys will be skipped. For a table as an associative array this isn't much of a problem, but for a table as a list it means we have missing indexes. Some of Lua's functions for handling "lists" (i.e. tables with numeric keys) also have a problem when the list contains nils. To work around these issues when passing argument lists and return value lists, pass the number of elements along with the sparse list. On the PHP end we can use this to fill in the missing nulls, and on the Lua end we can pass this count to unpack() to avoid the problems on the Lua side. Change-Id: I858e3905a06e377693301da2b8bc534808f00e3e --- M engines/LuaStandalone/LuaStandaloneEngine.php M engines/LuaStandalone/MWServer.lua M engines/LuaStandalone/protocol.txt M tests/engines/LuaCommon/LuaInterpreterTest.php 4 files changed, 59 insertions(+), 13 deletions(-) Approvals: Tim Starling: Verified; Looks good to me, approved jenkins-bot: Checked -- To view, visit https://gerrit.wikimedia.org/r/46475 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I858e3905a06e377693301da2b8bc534808f00e3e Gerrit-PatchSet: 3 Gerrit-Project: mediawiki/extensions/Scribunto Gerrit-Branch: master Gerrit-Owner: Anomie <[email protected]> Gerrit-Reviewer: Anomie <[email protected]> Gerrit-Reviewer: Demon <[email protected]> Gerrit-Reviewer: Tim Starling <[email protected]> Gerrit-Reviewer: Victor Vasiliev <[email protected]> Gerrit-Reviewer: jenkins-bot _______________________________________________ MediaWiki-commits mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
