1// Copyright 2014 PDFium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6
7#include "JBig2_Segment.h"
8
9#include "core/include/fxcrt/fx_memory.h"
10
11CJBig2_Segment::CJBig2_Segment() {
12  m_dwNumber = 0;
13  m_cFlags.c = 0;
14  m_nReferred_to_segment_count = 0;
15  m_pReferred_to_segment_numbers = NULL;
16  m_dwPage_association = 0;
17  m_dwData_length = 0;
18  m_dwHeader_Length = 0;
19  m_dwObjNum = 0;
20  m_dwDataOffset = 0;
21  m_State = JBIG2_SEGMENT_HEADER_UNPARSED;
22  m_nResultType = JBIG2_VOID_POINTER;
23  m_Result.vd = NULL;
24}
25CJBig2_Segment::~CJBig2_Segment() {
26  FX_Free(m_pReferred_to_segment_numbers);
27
28  switch (m_nResultType) {
29    case JBIG2_IMAGE_POINTER:
30      delete m_Result.im;
31      break;
32    case JBIG2_SYMBOL_DICT_POINTER:
33      delete m_Result.sd;
34      break;
35    case JBIG2_PATTERN_DICT_POINTER:
36      delete m_Result.pd;
37      break;
38    case JBIG2_HUFFMAN_TABLE_POINTER:
39      delete m_Result.ht;
40      break;
41    default:
42      FX_Free(m_Result.vd);
43  }
44}
45