db_script_exec: use a saved script name when reporting commands executed

Before executing a command in a ddb script ddb prints an information
line of the form:
  db:1:my-script> command
where 1 is the script's depth level, "my-script" is the scipt's name,
and "command" is the current command in the script.
db_script_exec() uses its 'scriptname' parameter to produce that string.
In the case when db_script_exec() is called from db_run_cmd() the
argument points to db_tok_string that is a global variable used for
command parsing.  So, its value changes with every command executed.

This commit changes the code to use the script's name stored in
ds_scriptname to print the line.

MFC after:	2 weeks
This commit is contained in:
avg 2018-03-04 13:27:21 +00:00
parent 16d50b0d62
commit 34d79fcc91

View File

@ -296,7 +296,7 @@ db_script_exec(const char *scriptname, int warnifnotfound)
buffer = drd->drd_buffer;
strcpy(buffer, dsp->ds_script);
while ((command = strsep(&buffer, ";")) != NULL) {
db_printf("db:%d:%s> %s\n", db_recursion, scriptname,
db_printf("db:%d:%s> %s\n", db_recursion, dsp->ds_scriptname,
command);
db_command_trim(&command);
prev_jb = kdb_jmpbuf(jb);