From 1a0be02fe85a105c48b82aac82c6d082a08f25b0 Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Thu, 28 Oct 2021 13:00:24 +0200 Subject: util.dataforms: Ensure larger integers are serialized as such Assumes that most number fields are integers, as most numeric types listed in XEP-0122 are, as are all such fields in Prosody as of this. Otherwise %g produces something like 1.1259e+15 --- util/dataforms.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'util') diff --git a/util/dataforms.lua b/util/dataforms.lua index 6bd44bdc..4daebbcb 100644 --- a/util/dataforms.lua +++ b/util/dataforms.lua @@ -107,8 +107,10 @@ function form_t.form(layout, data, formtype) value = datetime.datetime(value); elseif field_type == "boolean" then value = value ~= 0; + elseif field.datatype == "xs:double" or field.datatype == "xs:decimal" then + value = ("%f"):format(value); else - value = ("%g"):format(value); + value = ("%d"):format(value); end end -- Add value, depending on type -- cgit v1.2.3