From f59e98c4e44dabd7e6d85a6560b4b12ccbfe4e73 Mon Sep 17 00:00:00 2001 From: fche Date: Sun, 19 Nov 2006 19:39:35 +0000 Subject: 2006-11-19 Frank Ch. Eigler * main.cxx (main): Signal parse error if a tapset script is given as the user script. --- ChangeLog | 7 ++++++- main.cxx | 25 ++++++++++++++++++++++--- testsuite/ChangeLog | 4 ++++ testsuite/parseko/twentythree.stp | 3 +++ 4 files changed, 35 insertions(+), 4 deletions(-) create mode 100755 testsuite/parseko/twentythree.stp diff --git a/ChangeLog b/ChangeLog index 59b190de..b9034987 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,9 @@ -2006-11-17 Frank Ch. Eigler +2006-11-19 Frank Ch. Eigler + + * main.cxx (main): Signal parse error if a tapset script + is given as the user script. + +2006-11-15 Frank Ch. Eigler * tapsets.cxx (d_v_e_c_v::visit_target_symbol): Restore lost exception-saving functionality that improves error messages diff --git a/main.cxx b/main.cxx index e7f5d7da..af73715e 100644 --- a/main.cxx +++ b/main.cxx @@ -31,6 +31,7 @@ extern "C" { #include #include #include +#include #include #include } @@ -439,12 +440,17 @@ main (int argc, char * const argv []) gettimeofday (&tv_before, NULL); // PASS 1a: PARSING USER SCRIPT - // XXX: pass args vector, so parser (or lexer?) can substitute - // $1..$NN with actual arguments + + struct stat user_file_stat; + int user_file_stat_rc = -1; + if (script_file == "-") s.user_file = parser::parse (s, cin, s.guru_mode); else if (script_file != "") - s.user_file = parser::parse (s, script_file, s.guru_mode); + { + s.user_file = parser::parse (s, script_file, s.guru_mode); + user_file_stat_rc = stat (script_file.c_str(), & user_file_stat); + } else { istringstream ii (cmdline_script); @@ -501,11 +507,24 @@ main (int argc, char * const argv []) for (unsigned j=0; j + + * parseko/twentythree.stp: New test for running tapset file. + 2006-11-17 Frank Ch. Eigler * semko/thirtysix.stp, transko/three.stp: New tests. diff --git a/testsuite/parseko/twentythree.stp b/testsuite/parseko/twentythree.stp new file mode 100755 index 00000000..ee941d61 --- /dev/null +++ b/testsuite/parseko/twentythree.stp @@ -0,0 +1,3 @@ +#! /bin/sh + +./stap -p1 $SYSTEMTAP_TAPSET/indent.stp -- cgit