688 |
window->buffer->history; |
window->buffer->history; |
689 |
if (window->buffer->ptr_history) |
if (window->buffer->ptr_history) |
690 |
{ |
{ |
691 |
|
/* bash/readline like use of history */ |
692 |
|
if (window->buffer->ptr_history->prev_history == NULL) |
693 |
|
{ |
694 |
|
if (window->buffer->input_buffer_size > 0) |
695 |
|
{ |
696 |
|
window->buffer->input_buffer[window->buffer->input_buffer_size] = '\0'; |
697 |
|
history_add (window->buffer, window->buffer->input_buffer); |
698 |
|
} |
699 |
|
} |
700 |
|
else |
701 |
|
{ |
702 |
|
if (window->buffer->input_buffer_size > 0) |
703 |
|
{ |
704 |
|
window->buffer->input_buffer[window->buffer->input_buffer_size] = '\0'; |
705 |
|
if (window->buffer->ptr_history->prev_history->text) |
706 |
|
free(window->buffer->ptr_history->prev_history->text); |
707 |
|
window->buffer->ptr_history->prev_history->text = strdup (window->buffer->input_buffer); |
708 |
|
} |
709 |
|
} |
710 |
window->buffer->input_buffer_size = |
window->buffer->input_buffer_size = |
711 |
strlen (window->buffer->ptr_history->text); |
strlen (window->buffer->ptr_history->text); |
712 |
window->buffer->input_buffer_length = |
window->buffer->input_buffer_length = |