Sasha Khapyorsky wrote:
On 16:46 Thu 15 Nov     , Yevgeny Kliteynik wrote:
 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?
Is there any other way? Nothing comes to mind right now...
 I can also remove the flag and have the error message printed
 to stderr with every sweep, until the syntax error is fixed.
 Sounds better?

Perhaps. If there are no "false alarm" or "just warnings" it may be
useful to have it permanently on.

No false alarms - syntax error means that policy file won't be used at all.
I'll repost the patch.

-- Yevgeny

Sasha

 -- Yevgeny

(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.
-- Yevgeny
Sasha


+    char * last_text_read = __parser_strip_white(__qos_parser_text);
     OSM_LOG_ENTER(p_qos_parser_osm_log, __qos_parser_error);
     osm_log(p_qos_parser_osm_log, OSM_LOG_ERROR,
             "__qos_parser_error: ERR AC05: "
             "Syntax error (line %d:%d): %s. "
             "Last text read: \"%s\"\n",
- line_num, column_num, s, __parser_strip_white(__qos_parser_text));
+            line_num, column_num, s, last_text_read);
+    if (first_time)
+    {
+        first_time = FALSE;
+        printf("Error parsing QoS Policy File (line %d:%d): \"%s\". "
+               "Last text read: \"%s\".\n",
+               line_num, column_num, s, last_text_read);
+    }
     OSM_LOG_EXIT(p_qos_parser_osm_log);
 }

--
1.5.1.4


_______________________________________________
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


_______________________________________________
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

Reply via email to