/[LeafOK_CVS]/lbbs/src/editor.c
ViewVC logotype

Diff of /lbbs/src/editor.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.32 by sysadm, Fri Jun 27 10:14:47 2025 UTC Revision 1.36 by sysadm, Sun Jun 29 01:57:15 2025 UTC
# Line 675  int editor_display(EDITOR_DATA *p_editor Line 675  int editor_display(EDITOR_DATA *p_editor
675                  return ch;                  return ch;
676          }          }
677    
678          loop = 1;          for (loop = 1; !SYS_server_exit && loop;)
         while (!SYS_server_exit && loop)  
679          {          {
680                  if (line_current >= p_editor_data->display_line_total || output_current_row > output_end_row)                  if (line_current >= p_editor_data->display_line_total || output_current_row > output_end_row)
681                  {                  {
# Line 706  int editor_display(EDITOR_DATA *p_editor Line 705  int editor_display(EDITOR_DATA *p_editor
705                          iflush();                          iflush();
706    
707                          str_len = 0;                          str_len = 0;
                         input_ok = 0;  
708                          ch = igetch_t(MAX_DELAY_TIME);                          ch = igetch_t(MAX_DELAY_TIME);
709                          while (!SYS_server_exit && !input_ok)                          while (!SYS_server_exit)
710                          {                          {
711                                  // extended key handler                                  // extended key handler
712                                  if (editor_display_key_handler(&ch, &ctx) != 0)                                  if (editor_display_key_handler(&ch, &ctx) != 0)
# Line 773  int editor_display(EDITOR_DATA *p_editor Line 771  int editor_display(EDITOR_DATA *p_editor
771                                                          clrtoeol();                                                          clrtoeol();
772                                                          for (i = 0; i < scroll_rows; i++)                                                          for (i = 0; i < scroll_rows; i++)
773                                                          {                                                          {
774                                                                  prints("\033[S"); // Scroll up 1 line                                                                  // prints("\033[S"); // Scroll up 1 line
775                                                                    prints("\n"); // Legacy Cterm only works with this line
776                                                          }                                                          }
777    
778                                                          output_current_row -= scroll_rows;                                                          output_current_row -= scroll_rows;
# Line 813  int editor_display(EDITOR_DATA *p_editor Line 812  int editor_display(EDITOR_DATA *p_editor
812                                          {                                          {
813                                                  if (line_current - output_current_row + row_pos <= 0 && col_pos <= 1) // Forbidden                                                  if (line_current - output_current_row + row_pos <= 0 && col_pos <= 1) // Forbidden
814                                                  {                                                  {
815                                                          ch = igetch_t(MAX_DELAY_TIME);                                                          break; // force output prior operation result if any
                                                         continue;  
816                                                  }                                                  }
817    
818                                                  col_pos--;                                                  col_pos--;
# Line 1029  int editor_display(EDITOR_DATA *p_editor Line 1027  int editor_display(EDITOR_DATA *p_editor
1027                                          col_pos = MIN(col_pos, MAX(1, p_editor_data->display_line_lengths[line_current - output_current_row + row_pos]));                                          col_pos = MIN(col_pos, MAX(1, p_editor_data->display_line_lengths[line_current - output_current_row + row_pos]));
1028                                          moveto(SCREEN_ROWS, 0);                                          moveto(SCREEN_ROWS, 0);
1029                                          clrtoeol();                                          clrtoeol();
1030                                          prints("\033[S"); // Scroll up 1 line                                          // prints("\033[S"); // Scroll up 1 line
1031                                            prints("\n"); // Legacy Cterm only works with this line
1032                                          break;                                          break;
1033                                  case KEY_PGUP:                                  case KEY_PGUP:
1034                                          if (line_current - output_current_row < 0) // Reach begin                                          if (line_current - output_current_row < 0) // Reach begin


Legend:
Removed lines/characters  
Changed lines/characters
  Added lines/characters

webmaster@leafok.com
ViewVC Help
Powered by ViewVC 1.3.0-beta1