- ungetc(l_ss, inputt);
- /* note: 'Q' will bypass this if stmt., which warns of no save */
- if ((change_flag == 1L) && (l_which == 'q'))
- {
- change_flag = 0L;
- strcpy(help_msg, "buffer changes not saved");
- *errnum = -1;
- ss = l_ss;
- return;
- }
+ ungetc(l_ss, inputt);
+ }
+ /* Note: 'Q' will bypass this if stmt., which warns of no save. */
+ if ((change_flag == 1L) && ((l_which == 'q') || (l_which == -1)) ) {
+ change_flag = 0L;
+ strcpy(help_msg, "buffer changes not saved");
+ *errnum = -1;
+ ss = l_ss;
+ if (l_which == EOF)
+ ungetc('\n', inputt);
+ return;
+ }
+ /* Do cleanup; should it be even bothered?? */
+ Start = top;
+ End = bottom;
+ Start_default = End_default = 0;