Mercurial > hg > orthanc
comparison Core/DicomParsing/FromDcmtkBridge.cpp @ 2830:ab0fd5923c1d
fix
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 20 Sep 2018 11:07:38 +0200 |
parents | 47d812308d63 |
children | b51233f03e7e |
comparison
equal
deleted
inserted
replaced
2829:61fdb06e389a | 2830:ab0fd5923c1d |
---|---|
1712 | 1712 |
1713 for (Json::Value::ArrayIndex i = 0; i < value.size(); i++) | 1713 for (Json::Value::ArrayIndex i = 0; i < value.size(); i++) |
1714 { | 1714 { |
1715 std::auto_ptr<DcmItem> item(new DcmItem); | 1715 std::auto_ptr<DcmItem> item(new DcmItem); |
1716 | 1716 |
1717 Json::Value::Members members = value[i].getMemberNames(); | 1717 switch (value[i].type()) |
1718 for (Json::Value::ArrayIndex j = 0; j < members.size(); j++) | |
1719 { | 1718 { |
1720 item->insert(FromJson(ParseTag(members[j]), value[i][members[j]], decodeDataUriScheme, dicomEncoding)); | 1719 case Json::objectValue: |
1720 { | |
1721 Json::Value::Members members = value[i].getMemberNames(); | |
1722 for (Json::Value::ArrayIndex j = 0; j < members.size(); j++) | |
1723 { | |
1724 item->insert(FromJson(ParseTag(members[j]), value[i][members[j]], decodeDataUriScheme, dicomEncoding)); | |
1725 } | |
1726 } | |
1727 | |
1728 case Json::arrayValue: | |
1729 // Lua cannot disambiguate between an empty dictionary | |
1730 // and an empty array | |
1731 if (value[i].size() != 0) | |
1732 { | |
1733 throw OrthancException(ErrorCode_BadParameterType); | |
1734 } | |
1735 break; | |
1736 | |
1737 default: | |
1738 throw OrthancException(ErrorCode_BadParameterType); | |
1721 } | 1739 } |
1722 | 1740 |
1723 sequence->append(item.release()); | 1741 sequence->append(item.release()); |
1724 } | 1742 } |
1725 | 1743 |