summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLei Zhang <thestig@chromium.org>2015-07-22 13:47:50 -0700
committerLei Zhang <thestig@chromium.org>2015-07-22 13:47:50 -0700
commitd07958fd2d1c4134d865f4ccb056eb925aaa7d2a (patch)
treef4f24d248f3554b361f233d68847e12e5ce2dc14
parent8a0a834d2aea61fc92590839b86471ac73daa967 (diff)
downloadpdfium-d07958fd2d1c4134d865f4ccb056eb925aaa7d2a.tar.xz
Merge to XFA: Remove dead code found by Scythe.
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1249643003 . (cherry picked from commit b05f1fd710496dea44b001bb905fa1c16a39bb28) Review URL: https://codereview.chromium.org/1250433003 .
-rw-r--r--core/include/fpdfapi/fpdf_pageobj.h1
-rw-r--r--core/include/fpdfapi/fpdf_serial.h4
-rw-r--r--core/include/fxge/fx_dib.h2
-rw-r--r--core/include/fxge/fx_font.h7
-rw-r--r--core/include/fxge/fx_ge.h2
-rw-r--r--core/src/fpdfapi/fpdf_render/render_int.h1
-rw-r--r--core/src/fpdftext/text_int.h8
-rw-r--r--core/src/fpdftext/txtproc.h2
-rw-r--r--core/src/fxcodec/codec/codec_int.h2
-rw-r--r--core/src/fxge/dib/fx_dib_composite.cpp36
-rw-r--r--core/src/fxge/ge/fx_ge_text.cpp2
-rw-r--r--fpdfsdk/include/formfiller/FFL_FormFiller.h9
-rw-r--r--fpdfsdk/include/javascript/JS_Define.h6
-rw-r--r--fpdfsdk/include/javascript/JS_Runtime.h1
-rw-r--r--fpdfsdk/include/jsapi/fxjs_v8.h2
-rw-r--r--fpdfsdk/src/formfiller/FFL_FormFiller.cpp4
-rw-r--r--fpdfsdk/src/javascript/JS_Runtime.cpp1
-rw-r--r--fpdfsdk/src/jsapi/fxjs_v8.cpp9
18 files changed, 10 insertions, 89 deletions
diff --git a/core/include/fpdfapi/fpdf_pageobj.h b/core/include/fpdfapi/fpdf_pageobj.h
index 22edf5d504..73540a3eb3 100644
--- a/core/include/fpdfapi/fpdf_pageobj.h
+++ b/core/include/fpdfapi/fpdf_pageobj.h
@@ -669,7 +669,6 @@ public:
CFX_AffineMatrix m_Matrix;
- CPDF_Page* m_pPage;
void Transform(const CFX_AffineMatrix& matrix) override;
void CalcBoundingBox();
diff --git a/core/include/fpdfapi/fpdf_serial.h b/core/include/fpdfapi/fpdf_serial.h
index ec89ec21d6..1877ef8866 100644
--- a/core/include/fpdfapi/fpdf_serial.h
+++ b/core/include/fpdfapi/fpdf_serial.h
@@ -65,8 +65,6 @@ protected:
CPDF_TextState m_LastTextState;
CPDF_GeneralState m_LastGeneralState;
-
- CPDF_PageObjects* m_pCurPage;
};
class CPDF_PageArchiveLoader : public CPDF_ObjArchiveLoader
{
@@ -103,8 +101,6 @@ protected:
CPDF_GeneralState m_LastGeneralState;
- CPDF_PageObjects* m_pCurPage;
-
CFX_MapPtrToPtr m_ObjectMap;
};
#define FPDFCREATE_INCREMENTAL 1
diff --git a/core/include/fxge/fx_dib.h b/core/include/fxge/fx_dib.h
index 5b8ee44369..2d7330e0c3 100644
--- a/core/include/fxge/fx_dib.h
+++ b/core/include/fxge/fx_dib.h
@@ -542,7 +542,6 @@ public:
uint8_t* m_pScanline;
uint8_t* m_pMaskScanline;
FXDIB_Format m_DestFormat;
- int32_t m_Status;
int32_t StartQuickStretch();
@@ -598,7 +597,6 @@ protected:
CFX_ImageStretcher m_Stretcher;
CFX_BitmapComposer m_Composer;
int m_Status;
- int m_DestLeft, m_DestTop;
FX_RECT m_ClipBox;
FX_DWORD m_Flags;
int m_AlphaFlag;
diff --git a/core/include/fxge/fx_font.h b/core/include/fxge/fx_font.h
index 44e578df59..0d911c7281 100644
--- a/core/include/fxge/fx_font.h
+++ b/core/include/fxge/fx_font.h
@@ -444,13 +444,6 @@ private:
CFX_MapByteStringToPtr m_SizeMap;
CFX_MapPtrToPtr m_PathMap;
CFX_DIBitmap* m_pBitmap;
- void* m_pPlatformGraphics;
- void* m_pPlatformBitmap;
- void* m_hDC;
- void* m_hBitmap;
- void* m_hOldBitmap;
- void* m_hGdiFont;
- void* m_hOldGdiFont;
void InitPlatform();
void DestroyPlatform();
diff --git a/core/include/fxge/fx_ge.h b/core/include/fxge/fx_ge.h
index a0c0ca5a2b..fd9c148b62 100644
--- a/core/include/fxge/fx_ge.h
+++ b/core/include/fxge/fx_ge.h
@@ -133,8 +133,6 @@ protected:
void IntersectMaskRect(FX_RECT rect, FX_RECT mask_box, CFX_DIBitmapRef Mask);
};
-extern const uint8_t g_GammaRamp[256];
-extern const uint8_t g_GammaInverse[256];
#define FX_GAMMA(value) (value)
#define FX_GAMMA_INVERSE(value) (value)
inline FX_ARGB ArgbGamma(FX_ARGB argb)
diff --git a/core/src/fpdfapi/fpdf_render/render_int.h b/core/src/fpdfapi/fpdf_render/render_int.h
index 03fc9d6493..e5fb831a63 100644
--- a/core/src/fpdfapi/fpdf_render/render_int.h
+++ b/core/src/fpdfapi/fpdf_render/render_int.h
@@ -253,7 +253,6 @@ protected:
FX_DWORD m_Flags;
CPDF_QuickStretcher* m_pQuickStretcher;
CFX_ImageTransformer* m_pTransformer;
- CPDF_ImageRenderer* m_pRenderer2;
void* m_DeviceHandle;
void* m_LoadHandle;
FX_BOOL m_bStdCS;
diff --git a/core/src/fpdftext/text_int.h b/core/src/fpdftext/text_int.h
index fb74187e93..a521c7c1f7 100644
--- a/core/src/fpdftext/text_int.h
+++ b/core/src/fpdftext/text_int.h
@@ -7,14 +7,6 @@
#ifndef CORE_SRC_FPDFTEXT_TEXT_INT_H_
#define CORE_SRC_FPDFTEXT_TEXT_INT_H_
-class CPDF_TextParseOptions
-{
-public:
- CPDF_TextParseOptions();
- FX_BOOL m_bCheckObjectOrder;
- FX_BOOL m_bCheckDirection;
- int m_nCheckSameObject;
-};
class CPDF_TextPage;
class CPDF_LinkExtract;
class CPDF_TextPageFind;
diff --git a/core/src/fpdftext/txtproc.h b/core/src/fpdftext/txtproc.h
index 7a3799e8e0..275aabd53b 100644
--- a/core/src/fpdftext/txtproc.h
+++ b/core/src/fpdftext/txtproc.h
@@ -60,7 +60,7 @@ public:
FX_BOOL m_bAutoWidth;
FX_BOOL m_bKeepColumn;
FX_BOOL m_bBreakSpace;
- FX_BOOL m_bOCR;
+
private:
CFX_PtrArray m_BaseLines;
CFX_PtrArray m_TextColumns;
diff --git a/core/src/fxcodec/codec/codec_int.h b/core/src/fxcodec/codec/codec_int.h
index 58b9793fde..244793b634 100644
--- a/core/src/fxcodec/codec/codec_int.h
+++ b/core/src/fxcodec/codec/codec_int.h
@@ -307,7 +307,7 @@ class CCodec_Jbig2Context
public:
CCodec_Jbig2Context();
~CCodec_Jbig2Context() {};
- IFX_FileRead* m_file_ptr;
+
FX_DWORD m_width;
FX_DWORD m_height;
uint8_t* m_src_buf;
diff --git a/core/src/fxge/dib/fx_dib_composite.cpp b/core/src/fxge/dib/fx_dib_composite.cpp
index 69f2a6b27c..19a870ade3 100644
--- a/core/src/fxge/dib/fx_dib_composite.cpp
+++ b/core/src/fxge/dib/fx_dib_composite.cpp
@@ -7,42 +7,6 @@
#include "../../../include/fxge/fx_ge.h"
#include "../../../include/fxcodec/fx_codec.h"
#include "dib_int.h"
-const uint8_t g_GammaRamp[256] = {
- 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3,
- 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7,
- 8, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, 11, 12, 12, 12, 13,
- 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 17, 18, 18, 19, 19, 20,
- 20, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 27, 27, 28, 29, 29,
- 30, 30, 31, 32, 32, 33, 34, 35, 35, 36, 37, 37, 38, 39, 40, 41,
- 41, 42, 43, 44, 45, 45, 46, 47, 48, 49, 50, 51, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
- 71, 72, 73, 74, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 87, 88,
- 90, 91, 92, 93, 95, 96, 97, 99, 100, 101, 103, 104, 105, 107, 108, 109,
- 111, 112, 114, 115, 116, 118, 119, 121, 122, 124, 125, 127, 128, 130, 131, 133,
- 134, 136, 138, 139, 141, 142, 144, 146, 147, 149, 151, 152, 154, 156, 157, 159,
- 161, 163, 164, 166, 168, 170, 171, 173, 175, 177, 179, 181, 183, 184, 186, 188,
- 190, 192, 194, 196, 198, 200, 202, 204, 206, 208, 210, 212, 214, 216, 218, 220,
- 222, 224, 226, 229, 231, 233, 235, 237, 239, 242, 244, 246, 248, 250, 253, 255,
-};
-const uint8_t g_GammaInverse[256] = {
- 0, 13, 22, 28, 34, 38, 42, 46, 50, 53, 56, 59, 61, 64, 66, 69,
- 71, 73, 75, 77, 79, 81, 83, 85, 86, 88, 90, 92, 93, 95, 96, 98,
- 99, 101, 102, 104, 105, 106, 108, 109, 110, 112, 113, 114, 115, 117, 118, 119,
- 120, 121, 122, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 148, 149, 150, 151,
- 152, 153, 154, 155, 155, 156, 157, 158, 159, 159, 160, 161, 162, 163, 163, 164,
- 165, 166, 167, 167, 168, 169, 170, 170, 171, 172, 173, 173, 174, 175, 175, 176,
- 177, 178, 178, 179, 180, 180, 181, 182, 182, 183, 184, 185, 185, 186, 187, 187,
- 188, 189, 189, 190, 190, 191, 192, 192, 193, 194, 194, 195, 196, 196, 197, 197,
- 198, 199, 199, 200, 200, 201, 202, 202, 203, 203, 204, 205, 205, 206, 206, 207,
- 208, 208, 209, 209, 210, 210, 211, 212, 212, 213, 213, 214, 214, 215, 215, 216,
- 216, 217, 218, 218, 219, 219, 220, 220, 221, 221, 222, 222, 223, 223, 224, 224,
- 225, 226, 226, 227, 227, 228, 228, 229, 229, 230, 230, 231, 231, 232, 232, 233,
- 233, 234, 234, 235, 235, 236, 236, 237, 237, 238, 238, 238, 239, 239, 240, 240,
- 241, 241, 242, 242, 243, 243, 244, 244, 245, 245, 246, 246, 246, 247, 247, 248,
- 248, 249, 249, 250, 250, 251, 251, 251, 252, 252, 253, 253, 254, 254, 255, 255,
-};
const uint8_t _color_sqrt[256] = {
0x00, 0x03, 0x07, 0x0B, 0x0F, 0x12, 0x16, 0x19, 0x1D, 0x20, 0x23, 0x26, 0x29, 0x2C, 0x2F, 0x32,
0x35, 0x37, 0x3A, 0x3C, 0x3F, 0x41, 0x43, 0x46, 0x48, 0x4A, 0x4C, 0x4E, 0x50, 0x52, 0x54, 0x56,
diff --git a/core/src/fxge/ge/fx_ge_text.cpp b/core/src/fxge/ge/fx_ge_text.cpp
index 8f6b8b2d3b..d211391d68 100644
--- a/core/src/fxge/ge/fx_ge_text.cpp
+++ b/core/src/fxge/ge/fx_ge_text.cpp
@@ -1033,7 +1033,6 @@ void CFX_FontCache::FreeCache(FX_BOOL bRelease)
CFX_FaceCache::CFX_FaceCache(FXFT_Face face)
{
m_Face = face;
- m_pBitmap = NULL;
}
CFX_FaceCache::~CFX_FaceCache()
{
@@ -1052,7 +1051,6 @@ CFX_FaceCache::~CFX_FaceCache()
m_PathMap.GetNextAssoc(pos, key1, (void*&)pPath);
delete pPath;
}
- delete m_pBitmap;
m_PathMap.RemoveAll();
}
#if _FXM_PLATFORM_ != _FXM_PLATFORM_APPLE_
diff --git a/fpdfsdk/include/formfiller/FFL_FormFiller.h b/fpdfsdk/include/formfiller/FFL_FormFiller.h
index a477b34ded..215bba9a04 100644
--- a/fpdfsdk/include/formfiller/FFL_FormFiller.h
+++ b/fpdfsdk/include/formfiller/FFL_FormFiller.h
@@ -18,14 +18,6 @@ class CPDFSDK_PageView;
class CPDFSDK_Document;
class CPDFSDK_Widget;
-struct FFL_KeyStrokeData
-{
- CFX_WideString swValue;
- FX_BOOL bFull;
- int nSelStart;
- int nSelEnd;
-};
-
class CFFL_FormFiller : public IPWL_Provider, public CPWL_TimerHandler
{
public:
@@ -111,7 +103,6 @@ public:
virtual FX_BOOL IsDataChanged(CPDFSDK_PageView* pPageView);
virtual void SaveData(CPDFSDK_PageView* pPageView);
- virtual void GetKeyStrokeData(CPDFSDK_PageView* pPageView, FFL_KeyStrokeData& data);
virtual FX_BOOL IsFieldFull(CPDFSDK_PageView* pPageView);
CPWL_Wnd* GetPDFWindow(CPDFSDK_PageView* pPageView, FX_BOOL bNew);
diff --git a/fpdfsdk/include/javascript/JS_Define.h b/fpdfsdk/include/javascript/JS_Define.h
index 7ad7f57166..c480ce30c3 100644
--- a/fpdfsdk/include/javascript/JS_Define.h
+++ b/fpdfsdk/include/javascript/JS_Define.h
@@ -174,7 +174,7 @@ void js_class_name::JSDestructor(JSFXObject obj) \
\
int js_class_name::Init(IJS_Runtime* pRuntime, FXJSOBJTYPE eObjType)\
{\
- int nObjDefnID = JS_DefineObj(pRuntime, js_class_name::m_pClassName, eObjType, JSConstructor, JSDestructor, 0);\
+ int nObjDefnID = JS_DefineObj(pRuntime, js_class_name::m_pClassName, eObjType, JSConstructor, JSDestructor);\
if (nObjDefnID >= 0)\
{\
for (int j=0, szj=sizeof(JS_Class_Properties)/sizeof(JSPropertySpec)-1; j<szj; j++)\
@@ -203,7 +203,7 @@ int js_class_name::Init(IJS_Runtime* pRuntime, FXJSOBJTYPE eObjType)\
const wchar_t* js_class_name::m_pClassName = JS_WIDESTRING(class_name);\
int js_class_name::Init(IJS_Runtime* pRuntime, FXJSOBJTYPE eObjType)\
{\
- int nObjDefnID = JS_DefineObj(pRuntime, js_class_name::m_pClassName, eObjType, NULL, NULL, 0);\
+ int nObjDefnID = JS_DefineObj(pRuntime, js_class_name::m_pClassName, eObjType, NULL, NULL);\
if (nObjDefnID >=0)\
{\
for (int i=0, sz=sizeof(JS_Class_Consts)/sizeof(JSConstSpec)-1; i<sz; i++)\
@@ -344,7 +344,7 @@ void js_class_name::JSDestructor(JSFXObject obj) \
int js_class_name::Init(IJS_Runtime* pRuntime, FXJSOBJTYPE eObjType)\
{\
\
- int nObjDefnID = JS_DefineObj(pRuntime, js_class_name::m_pClassName, eObjType, JSConstructor, JSDestructor, 0);\
+ int nObjDefnID = JS_DefineObj(pRuntime, js_class_name::m_pClassName, eObjType, JSConstructor, JSDestructor);\
\
if (nObjDefnID >= 0)\
{\
diff --git a/fpdfsdk/include/javascript/JS_Runtime.h b/fpdfsdk/include/javascript/JS_Runtime.h
index a5c98ee0dd..20d7d63eff 100644
--- a/fpdfsdk/include/javascript/JS_Runtime.h
+++ b/fpdfsdk/include/javascript/JS_Runtime.h
@@ -68,7 +68,6 @@ protected:
CPDFDoc_Environment* m_pApp;
CPDFSDK_Document* m_pDocument;
FX_BOOL m_bBlocking;
- FX_BOOL m_bRegistered;
CJS_FieldEvent* m_pFieldEventPath;
v8::Isolate* m_isolate;
diff --git a/fpdfsdk/include/jsapi/fxjs_v8.h b/fpdfsdk/include/jsapi/fxjs_v8.h
index f5d699287d..21a6365569 100644
--- a/fpdfsdk/include/jsapi/fxjs_v8.h
+++ b/fpdfsdk/include/jsapi/fxjs_v8.h
@@ -53,7 +53,7 @@ typedef void (*LP_CONSTRUCTOR)(IFXJS_Context* cc, v8::Local<v8::Object> obj, v8:
typedef void (*LP_DESTRUCTOR)(v8::Local<v8::Object> obj);
-int JS_DefineObj(IJS_Runtime* pJSRuntime, const wchar_t* sObjName, FXJSOBJTYPE eObjType, LP_CONSTRUCTOR pConstructor, LP_DESTRUCTOR pDestructor, unsigned bApplyNew);
+int JS_DefineObj(IJS_Runtime* pJSRuntime, const wchar_t* sObjName, FXJSOBJTYPE eObjType, LP_CONSTRUCTOR pConstructor, LP_DESTRUCTOR pDestructor);
int JS_DefineObjMethod(IJS_Runtime* pJSRuntime, int nObjDefnID, const wchar_t* sMethodName, v8::FunctionCallback pMethodCall);
int JS_DefineObjProperty(IJS_Runtime* pJSRuntime, int nObjDefnID, const wchar_t* sPropName, v8::AccessorGetterCallback pPropGet, v8::AccessorSetterCallback pPropPut);
int JS_DefineObjAllProperties(IJS_Runtime* pJSRuntime, int nObjDefnID, v8::NamedPropertyQueryCallback pPropQurey, v8::NamedPropertyGetterCallback pPropGet, v8::NamedPropertySetterCallback pPropPut, v8::NamedPropertyDeleterCallback pPropDel);
diff --git a/fpdfsdk/src/formfiller/FFL_FormFiller.cpp b/fpdfsdk/src/formfiller/FFL_FormFiller.cpp
index 17c6fc1b5c..717d1a57b1 100644
--- a/fpdfsdk/src/formfiller/FFL_FormFiller.cpp
+++ b/fpdfsdk/src/formfiller/FFL_FormFiller.cpp
@@ -628,10 +628,6 @@ void CFFL_FormFiller::SaveData(CPDFSDK_PageView* pPageView)
{
}
-void CFFL_FormFiller::GetKeyStrokeData(CPDFSDK_PageView* pPageView, FFL_KeyStrokeData& data)
-{
-}
-
FX_BOOL CFFL_FormFiller::IsFieldFull(CPDFSDK_PageView* pPageView)
{
return FALSE;
diff --git a/fpdfsdk/src/javascript/JS_Runtime.cpp b/fpdfsdk/src/javascript/JS_Runtime.cpp
index bfea274eed..51aafd260c 100644
--- a/fpdfsdk/src/javascript/JS_Runtime.cpp
+++ b/fpdfsdk/src/javascript/JS_Runtime.cpp
@@ -110,7 +110,6 @@ CJS_Runtime::CJS_Runtime(CPDFDoc_Environment* pApp) :
m_pApp(pApp),
m_pDocument(NULL),
m_bBlocking(FALSE),
- m_bRegistered(FALSE),
m_pFieldEventPath(NULL)
{
if (CPDFXFA_App::GetInstance()->GetJSERuntime()) {
diff --git a/fpdfsdk/src/jsapi/fxjs_v8.cpp b/fpdfsdk/src/jsapi/fxjs_v8.cpp
index fadfbc092f..24d7bcc50a 100644
--- a/fpdfsdk/src/jsapi/fxjs_v8.cpp
+++ b/fpdfsdk/src/jsapi/fxjs_v8.cpp
@@ -40,8 +40,8 @@ public:
class CJS_ObjDefintion
{
public:
- CJS_ObjDefintion(v8::Isolate* isolate, const wchar_t* sObjName, FXJSOBJTYPE eObjType, LP_CONSTRUCTOR pConstructor, LP_DESTRUCTOR pDestructor, unsigned bApplyNew):
- objName(sObjName), objType(eObjType), m_pConstructor(pConstructor), m_pDestructor(pDestructor),m_bApplyNew(bApplyNew),m_bSetAsGlobalObject(FALSE)
+ CJS_ObjDefintion(v8::Isolate* isolate, const wchar_t* sObjName, FXJSOBJTYPE eObjType, LP_CONSTRUCTOR pConstructor, LP_DESTRUCTOR pDestructor):
+ objName(sObjName), objType(eObjType), m_pConstructor(pConstructor), m_pDestructor(pDestructor),m_bSetAsGlobalObject(FALSE)
{
v8::Isolate::Scope isolate_scope(isolate);
v8::HandleScope handle_scope(isolate);
@@ -67,14 +67,13 @@ public:
FXJSOBJTYPE objType;
LP_CONSTRUCTOR m_pConstructor;
LP_DESTRUCTOR m_pDestructor;
- unsigned m_bApplyNew;
FX_BOOL m_bSetAsGlobalObject;
v8::Global<v8::ObjectTemplate> m_objTemplate;
v8::Global<v8::Object> m_StaticObj;
};
-int JS_DefineObj(IJS_Runtime* pJSRuntime, const wchar_t* sObjName, FXJSOBJTYPE eObjType, LP_CONSTRUCTOR pConstructor, LP_DESTRUCTOR pDestructor, unsigned bApplyNew)
+int JS_DefineObj(IJS_Runtime* pJSRuntime, const wchar_t* sObjName, FXJSOBJTYPE eObjType, LP_CONSTRUCTOR pConstructor, LP_DESTRUCTOR pDestructor)
{
v8::Isolate* isolate = (v8::Isolate*)pJSRuntime;
v8::Isolate::Scope isolate_scope(isolate);
@@ -85,7 +84,7 @@ int JS_DefineObj(IJS_Runtime* pJSRuntime, const wchar_t* sObjName, FXJSOBJTYPE e
pArray = FX_NEW CFX_PtrArray();
isolate->SetData(1, pArray);
}
- CJS_ObjDefintion* pObjDef = FX_NEW CJS_ObjDefintion(isolate, sObjName, eObjType, pConstructor, pDestructor, bApplyNew);
+ CJS_ObjDefintion* pObjDef = FX_NEW CJS_ObjDefintion(isolate, sObjName, eObjType, pConstructor, pDestructor);
pArray->Add(pObjDef);
return pArray->GetSize()-1;
}