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. --- main.cxx | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) (limited to 'main.cxx') 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