// Sends this list command to the server to retrieve the source to be listed // and then displays the source on the client. The client's current line // is then updated to point to the last listed line. // Returns false if the server was unable to return source for this command. bool CmdList::listFileRange(DebuggerClient &client, int lineFocus0, int charFocus0, int lineFocus1, int charFocus1) { if (m_line1 <= 0) m_line1 = 1; if (m_line2 <= 0) m_line2 = 1; if (m_line1 > m_line2) { int32_t tmp = m_line1; m_line1 = m_line2; m_line2 = tmp; } auto res = client.xend<CmdList>(this); if (res->m_code.isString()) { if (!client.code(res->m_code.toString(), m_line1, m_line2, lineFocus0, charFocus0, lineFocus1, charFocus1)) { client.info("No more lines in %s to display.", m_file.c_str()); } client.setListLocation(m_file, m_line2, false); return true; } return false; }