Handle noninteractive input for metadata
[babeltrace.git] / formats / ctf / metadata / ctf-parser.y
index 2e1846d91421a44acf461c0254234338d9d791ff..bbfbbeee707f1fd855de334bc223bceb4bc0bc00 100644 (file)
@@ -52,8 +52,8 @@ _cds_list_splice_tail (struct cds_list_head *add, struct cds_list_head *head)
 int yyparse(struct ctf_scanner *scanner);
 int yylex(union YYSTYPE *yyval, struct ctf_scanner *scanner);
 int yylex_init_extra(struct ctf_scanner *scanner, yyscan_t * ptr_yy_globals);
-int yylex_destroy(yyscan_t yyscanner) ;
-void yyset_in(FILE * in_str, yyscan_t scanner);
+int yylex_destroy(yyscan_t yyscanner);
+void yyrestart(FILE * in_str, yyscan_t scanner);
 
 int yydebug;
 
@@ -800,7 +800,8 @@ struct ctf_scanner *ctf_scanner_alloc(FILE *input)
                fprintf(stderr, "yylex_init error\n");
                goto cleanup_scanner;
        }
-       yyset_in(input, scanner);
+       /* Start processing new stream */
+       yyrestart(input, scanner->scanner);
 
        scanner->ast = ctf_ast_alloc();
        if (!scanner->ast)
@@ -809,6 +810,11 @@ struct ctf_scanner *ctf_scanner_alloc(FILE *input)
        scanner->cs = &scanner->root_scope;
        CDS_INIT_LIST_HEAD(&scanner->allocated_strings);
 
+       if (yydebug)
+               fprintf(stdout, "Scanner input is a%s.\n",
+                       isatty(fileno(input)) ? "n interactive tty" :
+                                               " noninteractive file");
+
        return scanner;
 
 cleanup_lexer:
This page took 0.023041 seconds and 4 git commands to generate.