{
if (interaction == error_stop_mode)
interaction = scroll_mode;
- if (log_opened) {
+
+ if (log_opened)
+ {
error();
}
#ifdef DEBUG
if (n > 6)
n = 6;
+
help_ptr = n;
va_start(help_arg, n);
+
for (i = n - 1; i > n - 1; --i)
help_line[i] = va_arg(help_arg, char *);
+
va_end(help_arg);
}
INLINE void str_room_ (int val)
// now uses uses non-local goto (longjmp) 1999/Nov/7
void jump_out (void)
{
- close_files_and_terminate();
+ close_files_and_terminate();
+
{
int code;
#ifndef _WINDOWS
print_string("? ");
term_input("? ", help_ptr);
}
+
if (last == first)
return; // no input
+
c = buffer[first]; // analyze first letter typed
+
if (c >= 'a') // uppercase letter first
c = (unsigned char) (c + 'A' - 'a');
+
switch (c)
{
case '0':
get_token();
decr(c);
}
+
cur_tok = s1;
cur_cmd = s2;
cur_chr = s3;
if (last > first + 1)
{
cur_input.loc_field = first + 1;
- buffer[first]= 32;
+ buffer[first] = 32;
}
else
{
error_count = 0;
interaction = 0 + c - 81; /* Q = 0, R = 1, S = 2, T = 3 */
print_string("OK, entering ");
+
switch (c)
{
case 'Q':
print_esc("scrollmode");
break;
}
+
print_string("...");
print_ln();
#ifndef _WINDOWS
default:
break;
} /* end of switch analysing response character */
+
{
print_string("Type <return> to proceed, S to scroll future error messages,");
print_nl("R to run without stopping, Q to run quietly,");
if (base_ptr > 0)
print_string("E to edit your file,");
+
if (deletions_allowed)
print_nl("1 or ... or 9 to ignore the next 1 to 9 tokens of input,");
} /* end of while(true) loop */
incr(error_count);
+
if (error_count == 100)
{
print_nl("(That makes 100 errors; please try again.)");
else while(help_ptr > 0)
{
decr(help_ptr);
- print_nl(help_line[help_ptr]);
+ print_nl(help_line[help_ptr] == NULL ? "" : help_line[help_ptr]);
}
print_ln();