aboutsummaryrefslogtreecommitdiffstats
path: root/util/dataforms.lua
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2021-10-28 13:00:24 +0200
committerKim Alvefur <zash@zash.se>2021-10-28 13:00:24 +0200
commit1a0be02fe85a105c48b82aac82c6d082a08f25b0 (patch)
tree888de051608f03aa1d5a346abc6a218df9409d33 /util/dataforms.lua
parent9a080dc12e5692dcfceaf427a33013085e6f4b72 (diff)
downloadprosody-1a0be02fe85a105c48b82aac82c6d082a08f25b0.tar.gz
prosody-1a0be02fe85a105c48b82aac82c6d082a08f25b0.zip
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
Diffstat (limited to 'util/dataforms.lua')
-rw-r--r--util/dataforms.lua4
1 files changed, 3 insertions, 1 deletions
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