changeset 14172:94172bbf9074 13.0

util.jsonschema: Always accept 0 for multipleOf properties Per the JSON schema test suite, 0 is considered "a multiple of anything" and should never be rejected by the multipleOf test. The previous behaviour was to always reject 0. 0 is *not* a valid value for multipleOf itself (which must be >0), but util.jsonschema does not seem to do much/any validation of the provided schema so I haven't added a check for that. I assume there are JSON schema schemas?
author Matthew Wild <mwild1@gmail.com>
date Mon, 25 May 2026 11:32:33 +0100
parents 190d172ab021
children 44e5c73e6fa3
files util/jsonschema.lua
diffstat 1 files changed, 1 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/util/jsonschema.lua	Mon May 25 13:07:32 2026 +0100
+++ b/util/jsonschema.lua	Mon May 25 11:32:33 2026 +0100
@@ -126,7 +126,7 @@
 	end
 
 	if type(data) == "number" then
-		if schema.multipleOf and (data == 0 or data % schema.multipleOf ~= 0) then
+		if schema.multipleOf and data ~= 0 and data % schema.multipleOf ~= 0 then
 			table.insert(errs, mkerr(sloc .. "/luaPattern", iloc, "not a multiple"))
 			return false, errs
 		end