lineedit: invalid unicode characters are replaced with CONFIG_SUBST_WCHAR

function                                             old     new   delta
read_key_ungets                                        -      50     +50
lineedit_read_key                                    223     252     +29

Signed-off-by: Tomas Heinrich <heinrich.tomas@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Tomas Heinrich
2010-03-09 14:09:24 +01:00
committed by Denys Vlasenko
parent f15620c377
commit d2b04050c0
4 changed files with 73 additions and 5 deletions

View File

@@ -246,3 +246,12 @@ int64_t FAST_FUNC read_key(int fd, char *buffer)
buffer[-1] = 0;
goto start_over;
}
void FAST_FUNC read_key_ungets(char *buffer, const char *str, unsigned len)
{
unsigned cur_len = (unsigned char)buffer[0];
if (len > KEYCODE_BUFFER_SIZE-1 - cur_len)
len = KEYCODE_BUFFER_SIZE-1 - cur_len;
memcpy(buffer + 1 + cur_len, str, len);
buffer[0] += cur_len + len;
}