diff --git a/src/terminal.cc b/src/terminal.cc index f703239..249cda7 100644 --- a/src/terminal.cc +++ b/src/terminal.cc @@ -282,7 +282,7 @@ void Terminal::kill_async_executes(bool force) { async_executes_mutex.unlock(); } -int Terminal::print(const std::string &message, bool bold){ +size_t Terminal::print(const std::string &message, bool bold){ Glib::ustring umessage=message; Glib::ustring::iterator iter; while(!umessage.validate(iter)) { @@ -309,11 +309,11 @@ int Terminal::print(const std::string &message, bool bold){ deleted_lines+=static_cast(lines); } - return static_cast(static_cast(get_buffer()->end().get_line())+deleted_lines); + return static_cast(get_buffer()->end().get_line())+deleted_lines; } -void Terminal::print(int line_nr, const std::string &message){ - if(static_cast(line_nr)get_iter_at_line(static_cast(static_cast(line_nr)-deleted_lines)); + auto end_line_iter=get_buffer()->get_iter_at_line(static_cast(line_nr-deleted_lines)); while(!end_line_iter.ends_line() && end_line_iter.forward_char()) {} get_buffer()->insert(end_line_iter, umessage); diff --git a/src/terminal.h b/src/terminal.h index 3bdf068..e7315a3 100644 --- a/src/terminal.h +++ b/src/terminal.h @@ -26,7 +26,7 @@ public: void cancel(const std::string& msg); private: void start(const std::string& msg); - int line_nr; + size_t line_nr; std::atomic stop; Glib::Dispatcher waiting_print; std::thread wait_thread; @@ -38,8 +38,8 @@ public: void kill_last_async_execute(bool force=false); void kill_async_executes(bool force=false); - int print(const std::string &message, bool bold=false); - void print(int line_nr, const std::string &message); + size_t print(const std::string &message, bool bold=false); + void print(size_t line_nr, const std::string &message); std::shared_ptr print_in_progress(std::string start_msg); void async_print(const std::string &message, bool bold=false); void async_print(int line_nr, const std::string &message); diff --git a/src/terminal_win.cc b/src/terminal_win.cc index 9de10c6..1296b45 100644 --- a/src/terminal_win.cc +++ b/src/terminal_win.cc @@ -331,7 +331,7 @@ void Terminal::kill_async_executes(bool force) { async_executes_mutex.unlock(); } -int Terminal::print(const std::string &message, bool bold){ +size_t Terminal::print(const std::string &message, bool bold){ Glib::ustring umessage=message; Glib::ustring::iterator iter; while(!umessage.validate(iter)) { @@ -358,11 +358,11 @@ int Terminal::print(const std::string &message, bool bold){ deleted_lines+=static_cast(lines); } - return static_cast(static_cast(get_buffer()->end().get_line())+deleted_lines); + return static_cast(get_buffer()->end().get_line())+deleted_lines; } -void Terminal::print(int line_nr, const std::string &message){ - if(static_cast(line_nr)get_iter_at_line(static_cast(static_cast(line_nr)-deleted_lines)); + auto end_line_iter=get_buffer()->get_iter_at_line(static_cast(line_nr-deleted_lines)); while(!end_line_iter.ends_line() && end_line_iter.forward_char()) {} get_buffer()->insert(end_line_iter, umessage);