void ApiHandler::IpcEditorDeleteRange(EditorCtrl& editor, IConnection& conn) { const hessian_ipc::Call& call = *conn.get_call(); // Get the inset position const size_t start = call.GetParameter(1).GetInt(); const size_t end = call.GetParameter(2).GetInt(); if (end > editor.GetLength() || start > end) return; // fault: invalid positions // Delete the range const size_t byte_len = editor.RawDelete(start, end); // Write the reply hessian_ipc::Writer& writer = conn.get_reply_writer(); writer.write_reply(byte_len); }