Implement growing the buffer after input
This commit is contained in:
parent
53b0d0aca9
commit
c36c12b53a
|
@ -640,8 +640,11 @@ termkey_result termkey_waitkey(termkey_t *tk, termkey_key *key)
|
||||||
void termkey_pushinput(termkey_t *tk, unsigned char *input, size_t inputlen)
|
void termkey_pushinput(termkey_t *tk, unsigned char *input, size_t inputlen)
|
||||||
{
|
{
|
||||||
if(tk->buffstart + tk->buffcount + inputlen > tk->buffsize) {
|
if(tk->buffstart + tk->buffcount + inputlen > tk->buffsize) {
|
||||||
fprintf(stderr, "TODO! Extend input buffer!\n");
|
while(tk->buffstart + tk->buffcount + inputlen > tk->buffsize)
|
||||||
exit(0);
|
tk->buffsize *= 2;
|
||||||
|
|
||||||
|
unsigned char *newbuffer = realloc(tk->buffer, tk->buffsize);
|
||||||
|
tk->buffer = newbuffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Not strcpy just in case of NUL bytes
|
// Not strcpy just in case of NUL bytes
|
||||||
|
|
Loading…
Reference in New Issue