X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=formats%2Fctf%2Fmetadata%2Fctf-parser.y;h=bbfbbeee707f1fd855de334bc223bceb4bc0bc00;hp=f394fda2702cd398506c0091f9922d5af975ad30;hb=65102a8c8f70b08a27887c89b23f6d0b543ea67e;hpb=61e9d0cef413869e6ac39ba85b7b4258d8f7fdbc diff --git a/formats/ctf/metadata/ctf-parser.y b/formats/ctf/metadata/ctf-parser.y index f394fda2..bbfbbeee 100644 --- a/formats/ctf/metadata/ctf-parser.y +++ b/formats/ctf/metadata/ctf-parser.y @@ -53,7 +53,7 @@ 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); +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: