diff --git a/tools/apps/hgjson/DlgOptJson.cpp b/tools/apps/hgjson/DlgOptJson.cpp index 521e6b3..c0d964e 100644 --- a/tools/apps/hgjson/DlgOptJson.cpp +++ b/tools/apps/hgjson/DlgOptJson.cpp @@ -262,13 +262,19 @@ known_file_util::IJsonW* CDlgOptJson::SANEOPT::to_json(void) jsn->set_value(L"group", known_name::group_name(group.c_str()).c_str()); jsn->set_value(L"title", title.c_str()); jsn->set_value(L"desc", desc.c_str()); - jsn->set_value(L"ver", ver); - jsn->set_value(L"pos", pos); - jsn->set_value(L"fix-id", fix_id); jsn->set_value(L"type", type.c_str()); - jsn->set_value(L"unit", unit.c_str()); + + if(ver > 0) + jsn->set_value(L"ver", ver); + if(pos > 0) + jsn->set_value(L"pos", pos); + if(fix_id > SANE_OPT_ID_BASE) + jsn->set_value(L"fix-id", fix_id); SANEOPT::affect_str(nv, affect, false); - jsn->set_value(L"affect", nv); + if(nv) + jsn->set_value(L"affect", nv); + if(unit != L"none") + jsn->set_value(L"unit", unit.c_str()); if(readonly) jsn->set_value(L"readonly", readonly); if(open != OPT_VISIBLE_ALL) diff --git a/tools/solution/Release/hgjson.exe b/tools/solution/Release/hgjson.exe index 25ebc13..5a1430e 100644 Binary files a/tools/solution/Release/hgjson.exe and b/tools/solution/Release/hgjson.exe differ