From f97c26f5effd4372f7e03f9e4178d42a9ad8d4b3 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 2 Sep 2022 13:33:16 -0700
Subject: [PATCH] Fix function declararions

Upstream-Status: Pending

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 TEST/v2test_ec.c              | 2 ++
 TEST/v2test_ein.c             | 1 +
 backend/cimxml/cimXmlParser.c | 6 +++++-
 backend/cimxml/grammar.c      | 2 ++
 4 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/TEST/v2test_ec.c b/TEST/v2test_ec.c
index ad34dcc..d3e566d 100644
--- a/TEST/v2test_ec.c
+++ b/TEST/v2test_ec.c
@@ -6,6 +6,8 @@
 #include "cmcimacs.h"
 
 extern char *value2Chars(CMPIType type, CMPIValue * value);
+extern void showClass( CMPIConstClass * in_class );
+
 /*
  * comment out this define to use v2 http XML interface
  */
diff --git a/TEST/v2test_ein.c b/TEST/v2test_ein.c
index c1b4692..5d5ef5d 100644
--- a/TEST/v2test_ein.c
+++ b/TEST/v2test_ein.c
@@ -6,6 +6,7 @@
 #include "cmcimacs.h"
 
 extern char *value2Chars(CMPIType type, CMPIValue * value);
+extern void showObjectPath( CMPIObjectPath * objectpath );
 void showProperty( CMPIData , char * );
 void showInstance( CMPIInstance * );
 static char * CMPIState_str(CMPIValueState);
diff --git a/backend/cimxml/cimXmlParser.c b/backend/cimxml/cimXmlParser.c
index d1ab86e..9f5d1ca 100644
--- a/backend/cimxml/cimXmlParser.c
+++ b/backend/cimxml/cimXmlParser.c
@@ -34,6 +34,8 @@
 
 #include <pthread.h>
 
+void startParsing(ParserControl *parm);
+
 static int attrsOk(XmlBuffer * xb, const XmlElement * e, XmlAttr * r,
                    const char *tag, int etag);
 static char *getValue(XmlBuffer * xb, const char *v);
@@ -1350,7 +1352,9 @@ ResponseHdr scanCimXmlResponse(const char *xmlData, CMPIObjectPath *cop)
 
    control.heap = parser_heap_init();
 
-   control.respHdr.rc = startParsing(&control);
+   control.respHdr.rc = 0;
+
+   startParsing(&control);
 
    parser_heap_term(control.heap);
 
diff --git a/backend/cimxml/grammar.c b/backend/cimxml/grammar.c
index 6a0a969..a3dcdea 100644
--- a/backend/cimxml/grammar.c
+++ b/backend/cimxml/grammar.c
@@ -23,6 +23,8 @@
 #include "sfcUtil/utilft.h"
 #include "parserUtil.h"
 
+CMPIType guessType(char *val);
+void setClassMethods(CMPIConstClass *cls, XtokMethods *ms);
 
 static int ct = 0;
 static int dontLex = 0;
-- 
2.37.3

