--- lbbs/include/editor.h 2025/06/10 06:48:23 1.3 +++ lbbs/include/editor.h 2025/10/19 07:08:29 1.8 @@ -24,10 +24,9 @@ struct editor_data_t { - char *p_data_lines[MAX_EDITOR_DATA_LINES]; - long data_line_total; char *p_display_lines[MAX_EDITOR_DATA_LINES]; - long display_line_lengths[MAX_EDITOR_DATA_LINES]; + long display_line_lengths[MAX_EDITOR_DATA_LINES]; // string length of display line + int display_line_widths[MAX_EDITOR_DATA_LINES]; // display width of display line long display_line_total; }; typedef struct editor_data_t EDITOR_DATA; @@ -41,6 +40,9 @@ struct editor_ctx_t }; typedef struct editor_ctx_t EDITOR_CTX; +extern int editor_memory_pool_init(void); +extern void editor_memory_pool_cleanup(void); + extern EDITOR_DATA *editor_data_load(const char *p_data); extern long editor_data_save(const EDITOR_DATA *p_editor_data, char *p_data, size_t buf_len); extern void editor_data_cleanup(EDITOR_DATA *p_editor_data); @@ -50,7 +52,7 @@ extern int editor_display(EDITOR_DATA *p extern int editor_data_insert(EDITOR_DATA *p_editor_data, long *p_display_line, long *p_offset, const char *str, int str_len, long *p_last_updated_line); -extern int editor_data_delete(EDITOR_DATA *p_editor_data, long display_line, long offset, - long *p_last_updated_line); +extern int editor_data_delete(EDITOR_DATA *p_editor_data, long *p_display_line, long *p_offset, + long *p_last_updated_line, int del_line); #endif //_EDITOR_H_