Whamcloud - gitweb
LU-7734 lnet: configure local NI from DLC
[fs/lustre-release.git] / lnet / utils / cyaml / cyaml.c
index 2a6f58f..a713566 100644 (file)
@@ -160,6 +160,32 @@ static yaml_token_handler dispatch_tbl[] = {
        [YAML_SCALAR_TOKEN] = yaml_scalar,
 };
 
+/* dispatch table */
+static char *token_type_string[] = {
+       [YAML_NO_TOKEN] = "YAML_NO_TOKEN",
+       [YAML_STREAM_START_TOKEN] = "YAML_STREAM_START_TOKEN",
+       [YAML_STREAM_END_TOKEN] = "YAML_STREAM_END_TOKEN",
+       [YAML_VERSION_DIRECTIVE_TOKEN] = "YAML_VERSION_DIRECTIVE_TOKEN",
+       [YAML_TAG_DIRECTIVE_TOKEN] = "YAML_TAG_DIRECTIVE_TOKEN",
+       [YAML_DOCUMENT_START_TOKEN] = "YAML_DOCUMENT_START_TOKEN",
+       [YAML_DOCUMENT_END_TOKEN] = "YAML_DOCUMENT_END_TOKEN",
+       [YAML_BLOCK_SEQUENCE_START_TOKEN] = "YAML_BLOCK_SEQUENCE_START_TOKEN",
+       [YAML_BLOCK_MAPPING_START_TOKEN] = "YAML_BLOCK_MAPPING_START_TOKEN",
+       [YAML_BLOCK_END_TOKEN] = "YAML_BLOCK_END_TOKEN",
+       [YAML_FLOW_SEQUENCE_START_TOKEN] = "YAML_FLOW_SEQUENCE_START_TOKEN",
+       [YAML_FLOW_SEQUENCE_END_TOKEN] = "YAML_FLOW_SEQUENCE_END_TOKEN",
+       [YAML_FLOW_MAPPING_START_TOKEN] = "YAML_FLOW_MAPPING_START_TOKEN",
+       [YAML_FLOW_MAPPING_END_TOKEN] = "YAML_FLOW_MAPPING_END_TOKEN",
+       [YAML_BLOCK_ENTRY_TOKEN] = "YAML_BLOCK_ENTRY_TOKEN",
+       [YAML_FLOW_ENTRY_TOKEN] = "YAML_FLOW_ENTRY_TOKEN",
+       [YAML_KEY_TOKEN] = "YAML_KEY_TOKEN",
+       [YAML_VALUE_TOKEN] = "YAML_VALUE_TOKEN",
+       [YAML_ALIAS_TOKEN] = "YAML_ALIAS_TOKEN",
+       [YAML_ANCHOR_TOKEN] = "YAML_ANCHOR_TOKEN",
+       [YAML_TAG_TOKEN] = "YAML_TAG_TOKEN",
+       [YAML_SCALAR_TOKEN] = "YAML_SCALAR_TOKEN",
+};
+
 static void cYAML_ll_free(struct list_head *ll)
 {
        struct cYAML_ll *node, *tmp;
@@ -1097,7 +1123,8 @@ failed:
 struct cYAML *cYAML_build_tree(char *yaml_file,
                               const char *yaml_blk,
                               size_t yaml_blk_size,
-                              struct cYAML **err_rc)
+                              struct cYAML **err_rc,
+                              bool debug)
 {
        yaml_parser_t parser;
        yaml_token_t token;
@@ -1145,6 +1172,11 @@ struct cYAML *cYAML_build_tree(char *yaml_file,
                */
                yaml_parser_scan(&parser, &token);
 
+               if (debug)
+                       fprintf(stderr, "token.type = %s: %s\n",
+                               token_type_string[token.type],
+                               (token.type == YAML_SCALAR_TOKEN) ?
+                               (char*)token.data.scalar.value : "");
                rc = dispatch_tbl[token.type](&token, &tree);
                if (rc != CYAML_ERROR_NONE) {
                        snprintf(err_str, sizeof(err_str),