/[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.57 by sysadm, Sun Nov 9 11:18:07 2025 UTC Revision 1.59 by sysadm, Mon Nov 10 11:54:30 2025 UTC
# Line 679  int editor_display(EDITOR_DATA *p_editor Line 679  int editor_display(EDITOR_DATA *p_editor
679          int i, j;          int i, j;
680          char *p_str;          char *p_str;
681          int del_line;          int del_line;
682            int tab_width = 0;
683    
684          clrline(output_current_row, SCREEN_ROWS);          clrline(output_current_row, SCREEN_ROWS);
685    
# Line 717  int editor_display(EDITOR_DATA *p_editor Line 718  int editor_display(EDITOR_DATA *p_editor
718                          moveto((int)row_pos, (int)col_pos);                          moveto((int)row_pos, (int)col_pos);
719                          iflush();                          iflush();
720    
721                            tab_width = 0;
722                          str_len = 0;                          str_len = 0;
723                          ch = igetch_t(BBS_max_user_idle_time);                          ch = igetch_t(BBS_max_user_idle_time);
724                          while (!SYS_server_exit)                          while (!SYS_server_exit)
# Line 732  int editor_display(EDITOR_DATA *p_editor Line 734  int editor_display(EDITOR_DATA *p_editor
734                                          goto cleanup;                                          goto cleanup;
735                                  }                                  }
736    
737                                    if (ch == '\t')
738                                    {
739                                            ch = ' ';
740                                            tab_width = TAB_SIZE - ((int)(col_pos - 1) % TAB_SIZE) - 1;
741                                    }
742    
743                                  if (ch < 256 && (ch & 0x80)) // head of multi-byte character                                  if (ch < 256 && (ch & 0x80)) // head of multi-byte character
744                                  {                                  {
745                                          str_len = 0;                                          str_len = 0;
# Line 850  int editor_display(EDITOR_DATA *p_editor Line 858  int editor_display(EDITOR_DATA *p_editor
858                                                  break;                                                  break;
859                                          }                                          }
860    
861                                          ch = igetch(0);                                          if (ch == ' ' && tab_width > 0)
                                         if (ch == KEY_NULL || ch == KEY_TIMEOUT) // Output if no futher input  
862                                          {                                          {
863                                                  break;                                                  tab_width--;
864                                            }
865                                            else
866                                            {
867                                                    ch = igetch(0);
868                                                    if (ch == KEY_NULL || ch == KEY_TIMEOUT) // Output if no futher input
869                                                    {
870                                                            break;
871                                                    }
872                                          }                                          }
873    
874                                          str_len = 0;                                          str_len = 0;


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

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