From 909fa2daa49e5439c595e3d17a76f0e05d7934b0 Mon Sep 17 00:00:00 2001 From: Dan Sinclair Date: Tue, 12 Dec 2017 01:53:28 +0000 Subject: [js] Convert to using size instead of sentinels This CL changes the DefineMethod, DefineProps and DefineConsts methods to pass a size instead of depending on a sentinel value in the definition arrays. Change-Id: Ie054544124290c0833a8b21af175a203ca99591a Reviewed-on: https://pdfium-review.googlesource.com/20551 Commit-Queue: dsinclair Reviewed-by: Lei Zhang --- fxjs/xfa/cjx_container.cpp | 5 ++--- fxjs/xfa/cjx_datawindow.cpp | 5 ++--- fxjs/xfa/cjx_delta.cpp | 5 ++--- fxjs/xfa/cjx_desc.cpp | 5 ++--- fxjs/xfa/cjx_eventpseudomodel.cpp | 5 ++--- fxjs/xfa/cjx_exclgroup.cpp | 5 ++--- fxjs/xfa/cjx_field.cpp | 5 ++--- fxjs/xfa/cjx_form.cpp | 5 ++--- fxjs/xfa/cjx_hostpseudomodel.cpp | 5 ++--- fxjs/xfa/cjx_instancemanager.cpp | 5 ++--- fxjs/xfa/cjx_layoutpseudomodel.cpp | 5 ++--- fxjs/xfa/cjx_list.cpp | 5 ++--- fxjs/xfa/cjx_logpseudomodel.cpp | 5 ++--- fxjs/xfa/cjx_manifest.cpp | 5 ++--- fxjs/xfa/cjx_model.cpp | 5 ++--- fxjs/xfa/cjx_node.cpp | 5 ++--- fxjs/xfa/cjx_object.cpp | 5 +++-- fxjs/xfa/cjx_object.h | 2 +- fxjs/xfa/cjx_packet.cpp | 5 ++--- fxjs/xfa/cjx_signaturepseudomodel.cpp | 5 ++--- fxjs/xfa/cjx_source.cpp | 5 ++--- fxjs/xfa/cjx_subform.cpp | 5 ++--- fxjs/xfa/cjx_template.cpp | 5 ++--- fxjs/xfa/cjx_tree.cpp | 5 ++--- fxjs/xfa/cjx_treelist.cpp | 5 ++--- fxjs/xfa/cjx_wsdlconnection.cpp | 5 ++--- 26 files changed, 52 insertions(+), 75 deletions(-) (limited to 'fxjs/xfa') diff --git a/fxjs/xfa/cjx_container.cpp b/fxjs/xfa/cjx_container.cpp index a5d7921090..cf0aca0cbb 100644 --- a/fxjs/xfa/cjx_container.cpp +++ b/fxjs/xfa/cjx_container.cpp @@ -16,11 +16,10 @@ const CJX_MethodSpec CJX_Container::MethodSpecs[] = { {"getDelta", getDelta_static}, - {"getDeltas", getDeltas_static}, - {"", nullptr}}; + {"getDeltas", getDeltas_static}}; CJX_Container::CJX_Container(CXFA_Node* node) : CJX_Node(node) { - DefineMethods(MethodSpecs); + DefineMethods(MethodSpecs, FX_ArraySize(MethodSpecs)); } CJX_Container::~CJX_Container() {} diff --git a/fxjs/xfa/cjx_datawindow.cpp b/fxjs/xfa/cjx_datawindow.cpp index 54f32047fc..47c743f8f7 100644 --- a/fxjs/xfa/cjx_datawindow.cpp +++ b/fxjs/xfa/cjx_datawindow.cpp @@ -15,12 +15,11 @@ const CJX_MethodSpec CJX_DataWindow::MethodSpecs[] = { {"gotoRecord", gotoRecord_static}, {"isRecordGroup", isRecordGroup_static}, {"moveCurrentRecord", moveCurrentRecord_static}, - {"record", record_static}, - {"", nullptr}}; + {"record", record_static}}; CJX_DataWindow::CJX_DataWindow(CScript_DataWindow* window) : CJX_Object(window) { - DefineMethods(MethodSpecs); + DefineMethods(MethodSpecs, FX_ArraySize(MethodSpecs)); } CJX_DataWindow::~CJX_DataWindow() {} diff --git a/fxjs/xfa/cjx_delta.cpp b/fxjs/xfa/cjx_delta.cpp index 1dfad24319..c361bbb256 100644 --- a/fxjs/xfa/cjx_delta.cpp +++ b/fxjs/xfa/cjx_delta.cpp @@ -12,11 +12,10 @@ #include "fxjs/js_resources.h" #include "xfa/fxfa/parser/cxfa_delta.h" -const CJX_MethodSpec CJX_Delta::MethodSpecs[] = {{"restore", restore_static}, - {"", nullptr}}; +const CJX_MethodSpec CJX_Delta::MethodSpecs[] = {{"restore", restore_static}}; CJX_Delta::CJX_Delta(CXFA_Delta* delta) : CJX_Object(delta) { - DefineMethods(MethodSpecs); + DefineMethods(MethodSpecs, FX_ArraySize(MethodSpecs)); } CJX_Delta::~CJX_Delta() {} diff --git a/fxjs/xfa/cjx_desc.cpp b/fxjs/xfa/cjx_desc.cpp index 7ff58a774a..03ab8f8d21 100644 --- a/fxjs/xfa/cjx_desc.cpp +++ b/fxjs/xfa/cjx_desc.cpp @@ -12,11 +12,10 @@ #include "fxjs/js_resources.h" #include "xfa/fxfa/parser/cxfa_desc.h" -const CJX_MethodSpec CJX_Desc::MethodSpecs[] = {{"metadata", metadata_static}, - {"", nullptr}}; +const CJX_MethodSpec CJX_Desc::MethodSpecs[] = {{"metadata", metadata_static}}; CJX_Desc::CJX_Desc(CXFA_Desc* desc) : CJX_Node(desc) { - DefineMethods(MethodSpecs); + DefineMethods(MethodSpecs, FX_ArraySize(MethodSpecs)); } CJX_Desc::~CJX_Desc() {} diff --git a/fxjs/xfa/cjx_eventpseudomodel.cpp b/fxjs/xfa/cjx_eventpseudomodel.cpp index a109d1cb70..449153c548 100644 --- a/fxjs/xfa/cjx_eventpseudomodel.cpp +++ b/fxjs/xfa/cjx_eventpseudomodel.cpp @@ -45,12 +45,11 @@ void BooleanProperty(CFXJSE_Value* pValue, bool& bValue, bool bSetting) { const CJX_MethodSpec CJX_EventPseudoModel::MethodSpecs[] = { {"emit", emit_static}, - {"reset", reset_static}, - {"", nullptr}}; + {"reset", reset_static}}; CJX_EventPseudoModel::CJX_EventPseudoModel(CScript_EventPseudoModel* model) : CJX_Object(model) { - DefineMethods(MethodSpecs); + DefineMethods(MethodSpecs, FX_ArraySize(MethodSpecs)); } CJX_EventPseudoModel::~CJX_EventPseudoModel() {} diff --git a/fxjs/xfa/cjx_exclgroup.cpp b/fxjs/xfa/cjx_exclgroup.cpp index 6317736ffa..e24be804e0 100644 --- a/fxjs/xfa/cjx_exclgroup.cpp +++ b/fxjs/xfa/cjx_exclgroup.cpp @@ -23,11 +23,10 @@ const CJX_MethodSpec CJX_ExclGroup::MethodSpecs[] = { {"execEvent", execEvent_static}, {"execInitialize", execInitialize_static}, {"execValidate", execValidate_static}, - {"selectedMember", selectedMember_static}, - {"", nullptr}}; + {"selectedMember", selectedMember_static}}; CJX_ExclGroup::CJX_ExclGroup(CXFA_ExclGroup* group) : CJX_Node(group) { - DefineMethods(MethodSpecs); + DefineMethods(MethodSpecs, FX_ArraySize(MethodSpecs)); } CJX_ExclGroup::~CJX_ExclGroup() {} diff --git a/fxjs/xfa/cjx_field.cpp b/fxjs/xfa/cjx_field.cpp index d2cffbc983..4b5f840322 100644 --- a/fxjs/xfa/cjx_field.cpp +++ b/fxjs/xfa/cjx_field.cpp @@ -29,11 +29,10 @@ const CJX_MethodSpec CJX_Field::MethodSpecs[] = { {"getDisplayItem", getDisplayItem_static}, {"getItemState", getItemState_static}, {"getSaveItem", getSaveItem_static}, - {"setItemState", setItemState_static}, - {"", nullptr}}; + {"setItemState", setItemState_static}}; CJX_Field::CJX_Field(CXFA_Field* field) : CJX_Container(field) { - DefineMethods(MethodSpecs); + DefineMethods(MethodSpecs, FX_ArraySize(MethodSpecs)); } CJX_Field::~CJX_Field() {} diff --git a/fxjs/xfa/cjx_form.cpp b/fxjs/xfa/cjx_form.cpp index 22a7db2135..54f06fe966 100644 --- a/fxjs/xfa/cjx_form.cpp +++ b/fxjs/xfa/cjx_form.cpp @@ -23,11 +23,10 @@ const CJX_MethodSpec CJX_Form::MethodSpecs[] = { {"execValidate", execValidate_static}, {"formNodes", formNodes_static}, {"recalculate", recalculate_static}, - {"remerge", remerge_static}, - {"", nullptr}}; + {"remerge", remerge_static}}; CJX_Form::CJX_Form(CXFA_Form* form) : CJX_Model(form) { - DefineMethods(MethodSpecs); + DefineMethods(MethodSpecs, FX_ArraySize(MethodSpecs)); } CJX_Form::~CJX_Form() {} diff --git a/fxjs/xfa/cjx_hostpseudomodel.cpp b/fxjs/xfa/cjx_hostpseudomodel.cpp index 20e3bfe496..555381f623 100644 --- a/fxjs/xfa/cjx_hostpseudomodel.cpp +++ b/fxjs/xfa/cjx_hostpseudomodel.cpp @@ -61,12 +61,11 @@ const CJX_MethodSpec CJX_HostPseudoModel::MethodSpecs[] = { {"print", print_static}, {"resetData", resetData_static}, {"response", response_static}, - {"setFocus", setFocus_static}, - {"", nullptr}}; + {"setFocus", setFocus_static}}; CJX_HostPseudoModel::CJX_HostPseudoModel(CScript_HostPseudoModel* model) : CJX_Object(model) { - DefineMethods(MethodSpecs); + DefineMethods(MethodSpecs, FX_ArraySize(MethodSpecs)); } CJX_HostPseudoModel::~CJX_HostPseudoModel() {} diff --git a/fxjs/xfa/cjx_instancemanager.cpp b/fxjs/xfa/cjx_instancemanager.cpp index 19c6d72cc3..23048f98a5 100644 --- a/fxjs/xfa/cjx_instancemanager.cpp +++ b/fxjs/xfa/cjx_instancemanager.cpp @@ -22,12 +22,11 @@ const CJX_MethodSpec CJX_InstanceManager::MethodSpecs[] = { {"insertInstance", insertInstance_static}, {"moveInstance", moveInstance_static}, {"removeInstance", removeInstance_static}, - {"setInstances", setInstances_static}, - {"", nullptr}}; + {"setInstances", setInstances_static}}; CJX_InstanceManager::CJX_InstanceManager(CXFA_InstanceManager* mgr) : CJX_Node(mgr) { - DefineMethods(MethodSpecs); + DefineMethods(MethodSpecs, FX_ArraySize(MethodSpecs)); } CJX_InstanceManager::~CJX_InstanceManager() {} diff --git a/fxjs/xfa/cjx_layoutpseudomodel.cpp b/fxjs/xfa/cjx_layoutpseudomodel.cpp index b80000a0e2..4165a36e57 100644 --- a/fxjs/xfa/cjx_layoutpseudomodel.cpp +++ b/fxjs/xfa/cjx_layoutpseudomodel.cpp @@ -43,12 +43,11 @@ const CJX_MethodSpec CJX_LayoutPseudoModel::MethodSpecs[] = { {"sheetInBatch", sheetInBatch_static}, {"w", w_static}, {"x", x_static}, - {"y", y_static}, - {"", nullptr}}; + {"y", y_static}}; CJX_LayoutPseudoModel::CJX_LayoutPseudoModel(CScript_LayoutPseudoModel* model) : CJX_Object(model) { - DefineMethods(MethodSpecs); + DefineMethods(MethodSpecs, FX_ArraySize(MethodSpecs)); } CJX_LayoutPseudoModel::~CJX_LayoutPseudoModel() {} diff --git a/fxjs/xfa/cjx_list.cpp b/fxjs/xfa/cjx_list.cpp index 84bdf7bd07..198804dbed 100644 --- a/fxjs/xfa/cjx_list.cpp +++ b/fxjs/xfa/cjx_list.cpp @@ -18,11 +18,10 @@ const CJX_MethodSpec CJX_List::MethodSpecs[] = {{"append", append_static}, {"insert", insert_static}, {"item", item_static}, - {"remove", remove_static}, - {"", nullptr}}; + {"remove", remove_static}}; CJX_List::CJX_List(CXFA_List* list) : CJX_Object(list) { - DefineMethods(MethodSpecs); + DefineMethods(MethodSpecs, FX_ArraySize(MethodSpecs)); } CJX_List::~CJX_List() {} diff --git a/fxjs/xfa/cjx_logpseudomodel.cpp b/fxjs/xfa/cjx_logpseudomodel.cpp index e0ed05d0d1..810ddfa008 100644 --- a/fxjs/xfa/cjx_logpseudomodel.cpp +++ b/fxjs/xfa/cjx_logpseudomodel.cpp @@ -16,12 +16,11 @@ const CJX_MethodSpec CJX_LogPseudoModel::MethodSpecs[] = { {"traceEnabled", traceEnabled_static}, {"traceActivate", traceActivate_static}, {"traceDeactivate", traceDeactivate_static}, - {"trace", trace_static}, - {"", nullptr}}; + {"trace", trace_static}}; CJX_LogPseudoModel::CJX_LogPseudoModel(CScript_LogPseudoModel* model) : CJX_Object(model) { - DefineMethods(MethodSpecs); + DefineMethods(MethodSpecs, FX_ArraySize(MethodSpecs)); } CJX_LogPseudoModel::~CJX_LogPseudoModel() {} diff --git a/fxjs/xfa/cjx_manifest.cpp b/fxjs/xfa/cjx_manifest.cpp index 6d5da2c60e..0f48b1d28b 100644 --- a/fxjs/xfa/cjx_manifest.cpp +++ b/fxjs/xfa/cjx_manifest.cpp @@ -13,11 +13,10 @@ #include "xfa/fxfa/parser/cxfa_manifest.h" const CJX_MethodSpec CJX_Manifest::MethodSpecs[] = { - {"evaluate", evaluate_static}, - {"", nullptr}}; + {"evaluate", evaluate_static}}; CJX_Manifest::CJX_Manifest(CXFA_Manifest* manifest) : CJX_Node(manifest) { - DefineMethods(MethodSpecs); + DefineMethods(MethodSpecs, FX_ArraySize(MethodSpecs)); } CJX_Manifest::~CJX_Manifest() {} diff --git a/fxjs/xfa/cjx_model.cpp b/fxjs/xfa/cjx_model.cpp index 65084162fb..7ab90e29ba 100644 --- a/fxjs/xfa/cjx_model.cpp +++ b/fxjs/xfa/cjx_model.cpp @@ -17,11 +17,10 @@ const CJX_MethodSpec CJX_Model::MethodSpecs[] = { {"clearErrorList", clearErrorList_static}, {"createNode", createNode_static}, - {"isCompatibleNS", isCompatibleNS_static}, - {"", nullptr}}; + {"isCompatibleNS", isCompatibleNS_static}}; CJX_Model::CJX_Model(CXFA_Node* node) : CJX_Node(node) { - DefineMethods(MethodSpecs); + DefineMethods(MethodSpecs, FX_ArraySize(MethodSpecs)); } CJX_Model::~CJX_Model() {} diff --git a/fxjs/xfa/cjx_node.cpp b/fxjs/xfa/cjx_node.cpp index dd22fb4ca3..d8a3b1c74f 100644 --- a/fxjs/xfa/cjx_node.cpp +++ b/fxjs/xfa/cjx_node.cpp @@ -135,11 +135,10 @@ const CJX_MethodSpec CJX_Node::MethodSpecs[] = { {"saveFilteredXML", saveFilteredXML_static}, {"saveXML", saveXML_static}, {"setAttribute", setAttribute_static}, - {"setElement", setElement_static}, - {"", nullptr}}; + {"setElement", setElement_static}}; CJX_Node::CJX_Node(CXFA_Node* node) : CJX_Tree(node) { - DefineMethods(MethodSpecs); + DefineMethods(MethodSpecs, FX_ArraySize(MethodSpecs)); } CJX_Node::~CJX_Node() = default; diff --git a/fxjs/xfa/cjx_object.cpp b/fxjs/xfa/cjx_object.cpp index 81ba1ac3d2..d66483dd74 100644 --- a/fxjs/xfa/cjx_object.cpp +++ b/fxjs/xfa/cjx_object.cpp @@ -80,8 +80,9 @@ CJX_Object::~CJX_Object() { ClearMapModuleBuffer(); } -void CJX_Object::DefineMethods(const CJX_MethodSpec method_specs[]) { - for (size_t i = 0; method_specs[i].pMethodCall != nullptr; ++i) +void CJX_Object::DefineMethods(const CJX_MethodSpec method_specs[], + size_t count) { + for (size_t i = 0; i < count; ++i) method_specs_[method_specs[i].pName] = method_specs[i].pMethodCall; } diff --git a/fxjs/xfa/cjx_object.h b/fxjs/xfa/cjx_object.h index cb8350d2b1..3b9867ed4a 100644 --- a/fxjs/xfa/cjx_object.h +++ b/fxjs/xfa/cjx_object.h @@ -116,7 +116,7 @@ class CJX_Object { void ThrowParamCountMismatchException(const WideString& method) const; protected: - void DefineMethods(const CJX_MethodSpec method_specs[]); + void DefineMethods(const CJX_MethodSpec method_specs[], size_t count); void MoveBufferMapData(CXFA_Object* pSrcModule, CXFA_Object* pDstModule); void SetMapModuleString(void* pKey, const WideStringView& wsValue); diff --git a/fxjs/xfa/cjx_packet.cpp b/fxjs/xfa/cjx_packet.cpp index 0040951ac3..2203d9bc9e 100644 --- a/fxjs/xfa/cjx_packet.cpp +++ b/fxjs/xfa/cjx_packet.cpp @@ -15,11 +15,10 @@ const CJX_MethodSpec CJX_Packet::MethodSpecs[] = { {"getAttribute", getAttribute_static}, {"removeAttribute", removeAttribute_static}, - {"setAttribute", setAttribute_static}, - {"", nullptr}}; + {"setAttribute", setAttribute_static}}; CJX_Packet::CJX_Packet(CXFA_Packet* packet) : CJX_Node(packet) { - DefineMethods(MethodSpecs); + DefineMethods(MethodSpecs, FX_ArraySize(MethodSpecs)); } CJX_Packet::~CJX_Packet() {} diff --git a/fxjs/xfa/cjx_signaturepseudomodel.cpp b/fxjs/xfa/cjx_signaturepseudomodel.cpp index 6b39ac2488..202532c6ca 100644 --- a/fxjs/xfa/cjx_signaturepseudomodel.cpp +++ b/fxjs/xfa/cjx_signaturepseudomodel.cpp @@ -16,13 +16,12 @@ const CJX_MethodSpec CJX_SignaturePseudoModel::MethodSpecs[] = { {"verify", verifySignature_static}, {"sign", sign_static}, {"enumerate", enumerate_static}, - {"clear", clear_static}, - {"", nullptr}}; + {"clear", clear_static}}; CJX_SignaturePseudoModel::CJX_SignaturePseudoModel( CScript_SignaturePseudoModel* model) : CJX_Object(model) { - DefineMethods(MethodSpecs); + DefineMethods(MethodSpecs, FX_ArraySize(MethodSpecs)); } CJX_SignaturePseudoModel::~CJX_SignaturePseudoModel() {} diff --git a/fxjs/xfa/cjx_source.cpp b/fxjs/xfa/cjx_source.cpp index 17512b3e63..85742fee18 100644 --- a/fxjs/xfa/cjx_source.cpp +++ b/fxjs/xfa/cjx_source.cpp @@ -29,11 +29,10 @@ const CJX_MethodSpec CJX_Source::MethodSpecs[] = { {"requery", requery_static}, {"resync", resync_static}, {"update", update_static}, - {"updateBatch", updateBatch_static}, - {"", nullptr}}; + {"updateBatch", updateBatch_static}}; CJX_Source::CJX_Source(CXFA_Source* src) : CJX_Node(src) { - DefineMethods(MethodSpecs); + DefineMethods(MethodSpecs, FX_ArraySize(MethodSpecs)); } CJX_Source::~CJX_Source() {} diff --git a/fxjs/xfa/cjx_subform.cpp b/fxjs/xfa/cjx_subform.cpp index a7e1d2a587..fcf4cffd3e 100644 --- a/fxjs/xfa/cjx_subform.cpp +++ b/fxjs/xfa/cjx_subform.cpp @@ -20,11 +20,10 @@ const CJX_MethodSpec CJX_Subform::MethodSpecs[] = { {"execCalculate", execCalculate_static}, {"execEvent", execEvent_static}, {"execInitialize", execInitialize_static}, - {"execValidate", execValidate_static}, - {"", nullptr}}; + {"execValidate", execValidate_static}}; CJX_Subform::CJX_Subform(CXFA_Node* node) : CJX_Container(node) { - DefineMethods(MethodSpecs); + DefineMethods(MethodSpecs, FX_ArraySize(MethodSpecs)); } CJX_Subform::~CJX_Subform() {} diff --git a/fxjs/xfa/cjx_template.cpp b/fxjs/xfa/cjx_template.cpp index 48507c3494..8ba2bcab9e 100644 --- a/fxjs/xfa/cjx_template.cpp +++ b/fxjs/xfa/cjx_template.cpp @@ -19,11 +19,10 @@ const CJX_MethodSpec CJX_Template::MethodSpecs[] = { {"execValidate", execValidate_static}, {"formNodes", formNodes_static}, {"recalculate", recalculate_static}, - {"remerge", remerge_static}, - {"", nullptr}}; + {"remerge", remerge_static}}; CJX_Template::CJX_Template(CXFA_Template* tmpl) : CJX_Model(tmpl) { - DefineMethods(MethodSpecs); + DefineMethods(MethodSpecs, FX_ArraySize(MethodSpecs)); } CJX_Template::~CJX_Template() {} diff --git a/fxjs/xfa/cjx_tree.cpp b/fxjs/xfa/cjx_tree.cpp index 6c5e5abd89..8e3143ecc7 100644 --- a/fxjs/xfa/cjx_tree.cpp +++ b/fxjs/xfa/cjx_tree.cpp @@ -21,11 +21,10 @@ const CJX_MethodSpec CJX_Tree::MethodSpecs[] = { {"resolveNode", resolveNode_static}, - {"resolveNodes", resolveNodes_static}, - {"", nullptr}}; + {"resolveNodes", resolveNodes_static}}; CJX_Tree::CJX_Tree(CXFA_Object* obj) : CJX_Object(obj) { - DefineMethods(MethodSpecs); + DefineMethods(MethodSpecs, FX_ArraySize(MethodSpecs)); } CJX_Tree::~CJX_Tree() {} diff --git a/fxjs/xfa/cjx_treelist.cpp b/fxjs/xfa/cjx_treelist.cpp index bb9e4167f8..b91a0b7541 100644 --- a/fxjs/xfa/cjx_treelist.cpp +++ b/fxjs/xfa/cjx_treelist.cpp @@ -16,11 +16,10 @@ #include "xfa/fxfa/parser/cxfa_treelist.h" const CJX_MethodSpec CJX_TreeList::MethodSpecs[] = { - {"namedItem", namedItem_static}, - {"", nullptr}}; + {"namedItem", namedItem_static}}; CJX_TreeList::CJX_TreeList(CXFA_TreeList* list) : CJX_List(list) { - DefineMethods(MethodSpecs); + DefineMethods(MethodSpecs, FX_ArraySize(MethodSpecs)); } CJX_TreeList::~CJX_TreeList() {} diff --git a/fxjs/xfa/cjx_wsdlconnection.cpp b/fxjs/xfa/cjx_wsdlconnection.cpp index a1d673fae5..1d0c306f14 100644 --- a/fxjs/xfa/cjx_wsdlconnection.cpp +++ b/fxjs/xfa/cjx_wsdlconnection.cpp @@ -13,12 +13,11 @@ #include "xfa/fxfa/parser/cxfa_wsdlconnection.h" const CJX_MethodSpec CJX_WsdlConnection::MethodSpecs[] = { - {"execute", execute_static}, - {"", nullptr}}; + {"execute", execute_static}}; CJX_WsdlConnection::CJX_WsdlConnection(CXFA_WsdlConnection* connection) : CJX_Node(connection) { - DefineMethods(MethodSpecs); + DefineMethods(MethodSpecs, FX_ArraySize(MethodSpecs)); } CJX_WsdlConnection::~CJX_WsdlConnection() {} -- cgit v1.2.3