Skip to content

Commit ebcac83

Browse files
committed
Added compute and set of tag length in
ossimNitfGenericTag::parseStream(...) for conditional tags.
1 parent df0fa61 commit ebcac83

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

include/ossim/support_data/ossimNitfGenericTag.h

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@
2424
class OSSIM_DLL ossimNitfGenericTag : public ossimNitfRegisteredTag
2525
{
2626
public:
27+
28+
typedef std::map<ossimString, ossimString> FieldMap;
29+
2730
ossimNitfGenericTag(ossimString tag, ossim_uint32 tagLength=0);
2831

2932
virtual void parseStream(std::istream &in);
@@ -76,7 +79,9 @@ class OSSIM_DLL ossimNitfGenericTag : public ossimNitfRegisteredTag
7679

7780
//Parses field value from reverse polish noatation for loop and if conditions
7881
int parseRPN(ossimString input, std::vector<std::vector<ossim_int32>> suffixIn) const;
79-
std::map<ossimString, ossimString> m_fields_map;
82+
83+
FieldMap m_fields_map;
84+
8085
enum specialFields
8186
{
8287
VARIABLE_LENGTH = -1,

src/support_data/ossimNitfGenericTag.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,9 @@ void ossimNitfGenericTag::parseStream(std::istream &in)
250250
}
251251
}
252252

253+
// Recompute and set tag length. This is needed for conditional tags.
254+
setTagLength(computeTagLength());
255+
253256
if (traceDebug())
254257
{
255258
ossimNotify(ossimNotifyLevel_DEBUG) << MODULE << " exited..." << std::endl;

0 commit comments

Comments
 (0)