Sasha Khapyorsky wrote:
On 15:56 Thu 15 Nov , Yevgeny Kliteynik wrote:
Sasha Khapyorsky wrote:
Hi Yevgeny,
On 14:03 Thu 15 Nov , Yevgeny Kliteynik wrote:
When parsing QoS policy file for the first time, print
first syntax error to stdout and to the osm log.
Signed-off-by: Yevgeny Kliteynik <[EMAIL PROTECTED]>
---
opensm/opensm/osm_qos_parser.y | 11 ++++++++++-
1 files changed, 10 insertions(+), 1 deletions(-)
diff --git a/opensm/opensm/osm_qos_parser.y
b/opensm/opensm/osm_qos_parser.y
index 4738831..71f41fe 100644
--- a/opensm/opensm/osm_qos_parser.y
+++ b/opensm/opensm/osm_qos_parser.y
@@ -1873,12 +1873,21 @@ int __qos_parser_wrap()
void __qos_parser_error (char *s)
{
+ static boolean_t first_time = TRUE;
Could we avoid using static variables?
Would you prefer global flags instead?
Not really.
Is there any other way? Nothing comes to mind right now...
Could you pass parameters to parser, then this flag could be kept as
part of the structure.
(But seems __qos_parser_error() function itself should be declared as
static).
Sorry, can't do - it's defined by yacc, and
it's even declared as extern in this file.
Isn't it hand made part?
This works for me:
Indeed...
Anyway, as I said, I'll repost the patch.
-- Yevgeny
diff --git a/opensm/opensm/osm_qos_parser.y b/opensm/opensm/osm_qos_parser.y
index 4738831..d9e1567 100644
--- a/opensm/opensm/osm_qos_parser.y
+++ b/opensm/opensm/osm_qos_parser.y
@@ -124,9 +124,9 @@ static void __parser_add_partition_list_to_port_map(
static void __parser_add_map_to_port_map(
cl_qmap_t * p_dmap,
cl_map_t * p_smap);
+static void __qos_parser_error (char *s);
extern char * __qos_parser_text;
-extern void __qos_parser_error (char *s);
extern int __qos_parser_lex (void);
extern FILE * __qos_parser_in;
extern int errno;
@@ -1871,7 +1871,7 @@ int __qos_parser_wrap()
/***************************************************
***************************************************/
-void __qos_parser_error (char *s)
+static void __qos_parser_error (char *s)
{
OSM_LOG_ENTER(p_qos_parser_osm_log, __qos_parser_error);
osm_log(p_qos_parser_osm_log, OSM_LOG_ERROR,
Sasha
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general
To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general