| 466 | } |
| 467 | |
| 468 | void CGameConsole::CInstance::GetCommand(const char *pInput, char (&aCmd)[IConsole::CMDLINE_LENGTH]) |
| 469 | { |
| 470 | char aInput[IConsole::CMDLINE_LENGTH]; |
| 471 | str_copy(aInput, pInput); |
| 472 | m_CompletionCommandStart = 0; |
| 473 | m_CompletionCommandEnd = 0; |
| 474 | |
| 475 | char aaSeparators[][2] = {";", "\""}; |
| 476 | for(auto *pSeparator : aaSeparators) |
| 477 | { |
| 478 | int Start, End; |
| 479 | str_delimiters_around_offset(aInput + m_CompletionCommandStart, pSeparator, m_Input.GetCursorOffset() - m_CompletionCommandStart, &Start, &End); |
| 480 | m_CompletionCommandStart += Start; |
| 481 | m_CompletionCommandEnd = m_CompletionCommandStart + (End - Start); |
| 482 | aInput[m_CompletionCommandEnd] = '\0'; |
| 483 | } |
| 484 | m_CompletionCommandStart = str_skip_whitespaces_const(aInput + m_CompletionCommandStart) - aInput; |
| 485 | |
| 486 | str_copy(aCmd, aInput + m_CompletionCommandStart, sizeof(aCmd)); |
| 487 | } |
| 488 | |
| 489 | static void StrCopyUntilSpace(char *pDest, size_t DestSize, const char *pSrc) |
| 490 | { |
no test coverage detected