[apps/code] Fix input(), that did not return the input

This commit is contained in:
Léa Saviot
2020-02-19 13:48:38 +01:00
committed by EmilieNumworks
parent f7c38979a1
commit cf37e5c45a
4 changed files with 62 additions and 14 deletions

View File

@@ -55,4 +55,21 @@ bool ConsoleEditCell::insertText(const char * text) {
return m_textField.handleEventWithText(text);
}
void ConsoleEditCell::clearAndReduceSize() {
setText("");
size_t previousBufferSize = m_textField.draftTextBufferSize();
assert(previousBufferSize > 1);
m_textField.setDraftTextBufferSize(previousBufferSize - 1);
}
const char * ConsoleEditCell::shiftCurrentTextAndClear() {
size_t previousBufferSize = m_textField.draftTextBufferSize();
m_textField.setDraftTextBufferSize(previousBufferSize + 1);
char * textFieldBuffer = m_textField.draftTextBuffer();
char * newTextPosition = textFieldBuffer + 1;
strlcpy(newTextPosition, textFieldBuffer, previousBufferSize);
textFieldBuffer[0] = 0;
return newTextPosition;
}
}