File 0003-Provide-proper-function-declarations.patch of Package sblim-cmpi-authorization
From 2408ada047a4ed062ec713921bb3e78ba24a5aa7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Klaus=20K=C3=A4mpf?= <kkaempf@gmail.com>
Date: Fri, 24 Jan 2025 19:35:15 +0100
Subject: [PATCH 3/3] Provide proper function declarations
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Klaus Kämpf <kkaempf@gmail.com>
---
CWS_AuthorizationLexer.c | 3 ++-
CWS_AuthorizationLexer.l | 2 +-
CWS_AuthorizationParser.c | 49 +++++++++++++++++++++------------------
CWS_AuthorizationParser.h | 2 +-
CWS_AuthorizationParser.y | 3 +++
5 files changed, 33 insertions(+), 26 deletions(-)
diff --git a/CWS_AuthorizationLexer.c b/CWS_AuthorizationLexer.c
index b057d63..4841be0 100644
--- a/CWS_AuthorizationLexer.c
+++ b/CWS_AuthorizationLexer.c
@@ -2101,9 +2101,10 @@ void CWS_Authorizationyyfree (void * ptr )
/* USER SUBROUTINE SECTION */
/* Everything below is copied verbatim to the end of the lex generated C code. */
-CWS_Authorizationyyerror(char *errmsg)
+int CWS_Authorizationyyerror(char *errmsg)
{
fprintf(stderr, "error line %d: %s in '%s'\n", CWS_Authorizationyylineno, errmsg, CWS_Authorizationyytext);
+ return 1;
}
diff --git a/CWS_AuthorizationLexer.l b/CWS_AuthorizationLexer.l
index a5fe68e..ce62f01 100644
--- a/CWS_AuthorizationLexer.l
+++ b/CWS_AuthorizationLexer.l
@@ -149,7 +149,7 @@ NO {
/* USER SUBROUTINE SECTION */
/* Everything below is copied verbatim to the end of the lex generated C code. */
-yyerror(char *errmsg)
+int yyerror(char *errmsg)
{
fprintf(stderr, "error line %d: %s in '%s'\n", yylineno, errmsg, yytext);
return 1;
diff --git a/CWS_AuthorizationParser.c b/CWS_AuthorizationParser.c
index c2eb81b..b145691 100644
--- a/CWS_AuthorizationParser.c
+++ b/CWS_AuthorizationParser.c
@@ -79,6 +79,9 @@
#include <stdlib.h>
#include <stdio.h>
+extern int CWS_Authorizationyylex (void);
+extern int CWS_Authorizationyyerror(char *errmsg);
+
#include "cmpimacs.h" /* Contains CMSetProperty() */
#define RC_OK 0
@@ -87,7 +90,7 @@
/* DEFINE ANY GLOBAL VARS HERE */
static CMPIInstance * _INSTANCE; /* The current instance that is being read into */
-#line 91 "CWS_AuthorizationParser.c"
+#line 94 "CWS_AuthorizationParser.c"
# ifndef YY_CAST
# ifdef __cplusplus
@@ -523,8 +526,8 @@ static const yytype_int8 yytranslate[] =
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_int8 yyrline[] =
{
- 0, 40, 40, 42, 41, 54, 58, 59, 60, 61,
- 62, 65, 69, 73, 77, 81, 85
+ 0, 43, 43, 45, 44, 57, 61, 62, 63, 64,
+ 65, 68, 72, 76, 80, 84, 88
};
#endif
@@ -1100,81 +1103,81 @@ yyreduce:
switch (yyn)
{
case 3: /* $@1: %empty */
-#line 42 "CWS_AuthorizationParser.y"
+#line 45 "CWS_AuthorizationParser.y"
{
CMSetProperty( _INSTANCE, "Username", (yyvsp[-2].string), CMPI_chars );
free((yyvsp[-2].string)); /* must free string because it was originally strdup'd */
CMSetProperty( _INSTANCE, "Classname", (yyvsp[-1].string), CMPI_chars );
free((yyvsp[-1].string)); /* must free string because it was originally strdup'd */
}
-#line 1111 "CWS_AuthorizationParser.c"
+#line 1114 "CWS_AuthorizationParser.c"
break;
case 4: /* instance: '[' USERNAME CLASSNAME ']' $@1 permissions */
-#line 49 "CWS_AuthorizationParser.y"
+#line 52 "CWS_AuthorizationParser.y"
{
/* Return after reading in each instance */
return RC_OK;
}
-#line 1120 "CWS_AuthorizationParser.c"
+#line 1123 "CWS_AuthorizationParser.c"
break;
case 5: /* instance: ENDOFFILE */
-#line 54 "CWS_AuthorizationParser.y"
+#line 57 "CWS_AuthorizationParser.y"
{ return RC_EOF; }
-#line 1126 "CWS_AuthorizationParser.c"
+#line 1129 "CWS_AuthorizationParser.c"
break;
case 11: /* permission: ENUMERATE ':' PERMISSION */
-#line 66 "CWS_AuthorizationParser.y"
+#line 69 "CWS_AuthorizationParser.y"
{
CMSetProperty( _INSTANCE, "Enumerate", &((yyvsp[0].boolean)), CMPI_boolean );
}
-#line 1134 "CWS_AuthorizationParser.c"
+#line 1137 "CWS_AuthorizationParser.c"
break;
case 12: /* permission: GET ':' PERMISSION */
-#line 70 "CWS_AuthorizationParser.y"
+#line 73 "CWS_AuthorizationParser.y"
{
CMSetProperty( _INSTANCE, "Get", &((yyvsp[0].boolean)), CMPI_boolean );
}
-#line 1142 "CWS_AuthorizationParser.c"
+#line 1145 "CWS_AuthorizationParser.c"
break;
case 13: /* permission: SET ':' PERMISSION */
-#line 74 "CWS_AuthorizationParser.y"
+#line 77 "CWS_AuthorizationParser.y"
{
CMSetProperty( _INSTANCE, "Set", &((yyvsp[0].boolean)), CMPI_boolean );
}
-#line 1150 "CWS_AuthorizationParser.c"
+#line 1153 "CWS_AuthorizationParser.c"
break;
case 14: /* permission: CREATE ':' PERMISSION */
-#line 78 "CWS_AuthorizationParser.y"
+#line 81 "CWS_AuthorizationParser.y"
{
CMSetProperty( _INSTANCE, "Create", &((yyvsp[0].boolean)), CMPI_boolean );
}
-#line 1158 "CWS_AuthorizationParser.c"
+#line 1161 "CWS_AuthorizationParser.c"
break;
case 15: /* permission: DELETE ':' PERMISSION */
-#line 82 "CWS_AuthorizationParser.y"
+#line 85 "CWS_AuthorizationParser.y"
{
CMSetProperty( _INSTANCE, "Delete", &((yyvsp[0].boolean)), CMPI_boolean );
}
-#line 1166 "CWS_AuthorizationParser.c"
+#line 1169 "CWS_AuthorizationParser.c"
break;
case 16: /* permission: QUERY ':' PERMISSION */
-#line 86 "CWS_AuthorizationParser.y"
+#line 89 "CWS_AuthorizationParser.y"
{
CMSetProperty( _INSTANCE, "Query", &((yyvsp[0].boolean)), CMPI_boolean );
}
-#line 1174 "CWS_AuthorizationParser.c"
+#line 1177 "CWS_AuthorizationParser.c"
break;
-#line 1178 "CWS_AuthorizationParser.c"
+#line 1181 "CWS_AuthorizationParser.c"
default: break;
}
@@ -1367,7 +1370,7 @@ yyreturnlab:
return yyresult;
}
-#line 92 "CWS_AuthorizationParser.y"
+#line 95 "CWS_AuthorizationParser.y"
/* USER SUBROUTINE SECTION */
diff --git a/CWS_AuthorizationParser.h b/CWS_AuthorizationParser.h
index 560d8e5..187413c 100644
--- a/CWS_AuthorizationParser.h
+++ b/CWS_AuthorizationParser.h
@@ -87,7 +87,7 @@ extern int CWS_Authorizationyydebug;
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
union YYSTYPE
{
-#line 18 "CWS_AuthorizationParser.y"
+#line 21 "CWS_AuthorizationParser.y"
CMPIBoolean boolean;
/* Note - we override the CIM definition of string to make this data type
diff --git a/CWS_AuthorizationParser.y b/CWS_AuthorizationParser.y
index 22d9692..f11cb95 100644
--- a/CWS_AuthorizationParser.y
+++ b/CWS_AuthorizationParser.y
@@ -5,6 +5,9 @@
#include <stdlib.h>
#include <stdio.h>
+extern int CWS_Authorizationyylex (void);
+extern int CWS_Authorizationyyerror(char *errmsg);
+
#include "cmpimacs.h" /* Contains CMSetProperty() */
#define RC_OK 0
--
2.48.0