39 |
#include "../common/history.h" |
#include "../common/history.h" |
40 |
#include "../common/hotlist.h" |
#include "../common/hotlist.h" |
41 |
#include "../common/log.h" |
#include "../common/log.h" |
42 |
|
#include "../common/utf8.h" |
43 |
#include "../irc/irc.h" |
#include "../irc/irc.h" |
44 |
|
|
45 |
|
|
215 |
else |
else |
216 |
new_buffer->input_buffer = NULL; |
new_buffer->input_buffer = NULL; |
217 |
new_buffer->input_buffer_size = 0; |
new_buffer->input_buffer_size = 0; |
218 |
|
new_buffer->input_buffer_length = 0; |
219 |
new_buffer->input_buffer_pos = 0; |
new_buffer->input_buffer_pos = 0; |
220 |
new_buffer->input_buffer_1st_display = 0; |
new_buffer->input_buffer_1st_display = 0; |
221 |
|
|
326 |
vsnprintf (buffer, sizeof (buffer) - 1, message, argptr); |
vsnprintf (buffer, sizeof (buffer) - 1, message, argptr); |
327 |
va_end (argptr); |
va_end (argptr); |
328 |
|
|
329 |
buf2 = weechat_convert_encoding (cfg_look_charset_decode, |
buf2 = weechat_convert_encoding ((local_utf8) ? |
330 |
|
cfg_look_charset_decode_iso : cfg_look_charset_decode_utf, |
331 |
(cfg_look_charset_internal && cfg_look_charset_internal[0]) ? |
(cfg_look_charset_internal && cfg_look_charset_internal[0]) ? |
332 |
cfg_look_charset_internal : local_charset, |
cfg_look_charset_internal : local_charset, |
333 |
buffer); |
buffer); |
608 |
} |
} |
609 |
|
|
610 |
/* |
/* |
611 |
* gui_input_clipboard_copy: copy string into clipboard |
* gui_input_action_dcc: execute an action on a DCC after a user input |
612 |
*/ |
*/ |
613 |
|
|
614 |
void |
void |
615 |
gui_input_clipboard_copy (char *buffer, int size) |
gui_input_action_dcc (t_gui_window *window, char action) |
616 |
{ |
{ |
617 |
if (size <= 0) |
t_irc_dcc *dcc_selected, *ptr_dcc, *ptr_dcc_next; |
|
return; |
|
|
|
|
|
if (gui_input_clipboard != NULL) |
|
|
free(gui_input_clipboard); |
|
618 |
|
|
619 |
gui_input_clipboard = (char *) malloc( (size + 1) * sizeof(*gui_input_clipboard)); |
dcc_selected = (window->dcc_selected) ? |
620 |
|
(t_irc_dcc *) window->dcc_selected : dcc_list; |
621 |
|
|
622 |
if (gui_input_clipboard) |
switch (action) |
623 |
{ |
{ |
624 |
memcpy(gui_input_clipboard, buffer, size); |
/* accept DCC */ |
625 |
gui_input_clipboard[size] = '\0'; |
case 'a': |
626 |
} |
case 'A': |
627 |
} |
if (dcc_selected |
628 |
|
&& (DCC_IS_RECV(dcc_selected->status)) |
629 |
/* |
&& (dcc_selected->status == DCC_WAITING)) |
630 |
* gui_input_clipboard_paste: paste clipboard at cursor pos in input line |
{ |
631 |
*/ |
dcc_accept (dcc_selected); |
632 |
|
} |
633 |
void |
break; |
634 |
gui_input_clipboard_paste (t_gui_window *window) |
/* cancel DCC */ |
635 |
{ |
case 'c': |
636 |
if (window->buffer->has_input && gui_input_clipboard) |
case 'C': |
637 |
{ |
if (dcc_selected |
638 |
gui_input_insert_string (window, gui_input_clipboard, window->buffer->input_buffer_pos); |
&& (!DCC_ENDED(dcc_selected->status))) |
639 |
window->buffer->input_buffer_pos += strlen (gui_input_clipboard); |
{ |
640 |
gui_draw_buffer_input (window->buffer, 0); |
dcc_close (dcc_selected, DCC_ABORTED); |
641 |
window->buffer->completion.position = -1; |
gui_redraw_buffer (window->buffer); |
642 |
|
} |
643 |
|
break; |
644 |
|
/* purge old DCC */ |
645 |
|
case 'p': |
646 |
|
case 'P': |
647 |
|
window->dcc_selected = NULL; |
648 |
|
ptr_dcc = dcc_list; |
649 |
|
while (ptr_dcc) |
650 |
|
{ |
651 |
|
ptr_dcc_next = ptr_dcc->next_dcc; |
652 |
|
if (DCC_ENDED(ptr_dcc->status)) |
653 |
|
dcc_free (ptr_dcc); |
654 |
|
ptr_dcc = ptr_dcc_next; |
655 |
|
} |
656 |
|
gui_redraw_buffer (window->buffer); |
657 |
|
break; |
658 |
|
/* close DCC window */ |
659 |
|
case 'q': |
660 |
|
case 'Q': |
661 |
|
if (buffer_before_dcc) |
662 |
|
{ |
663 |
|
gui_buffer_free (window->buffer, 1); |
664 |
|
gui_switch_to_buffer (window, buffer_before_dcc); |
665 |
|
} |
666 |
|
else |
667 |
|
gui_buffer_free (window->buffer, 1); |
668 |
|
gui_redraw_buffer (window->buffer); |
669 |
|
break; |
670 |
|
/* remove from DCC list */ |
671 |
|
case 'r': |
672 |
|
case 'R': |
673 |
|
if (dcc_selected |
674 |
|
&& (DCC_ENDED(dcc_selected->status))) |
675 |
|
{ |
676 |
|
if (dcc_selected->next_dcc) |
677 |
|
window->dcc_selected = dcc_selected->next_dcc; |
678 |
|
else |
679 |
|
window->dcc_selected = NULL; |
680 |
|
dcc_free (dcc_selected); |
681 |
|
gui_redraw_buffer (window->buffer); |
682 |
|
} |
683 |
|
break; |
684 |
} |
} |
685 |
} |
} |
686 |
|
|
687 |
/* |
/* |
688 |
* gui_input_insert_string: insert a string into the input buffer |
* gui_input_insert_string: insert a string into the input buffer |
689 |
* if pos == -1, string is inserted at cursor position |
* if pos == -1, string is inserted at cursor position |
690 |
|
* return: number of chars inserted |
691 |
|
* (may be different of strlen if UTF-8 string) |
692 |
*/ |
*/ |
693 |
|
|
694 |
void |
int |
695 |
gui_input_insert_string (t_gui_window *window, char *string, int pos) |
gui_input_insert_string (t_gui_window *window, char *string, int pos) |
696 |
{ |
{ |
697 |
int i, start, end, length; |
int size, length; |
698 |
|
char *ptr_start; |
699 |
|
|
700 |
if (window->buffer->has_input) |
if (window->buffer->dcc) |
701 |
|
{ |
702 |
|
while (string[0]) |
703 |
|
{ |
704 |
|
if (string[0] >= 32) |
705 |
|
gui_input_action_dcc (window, string[0]); |
706 |
|
string = utf8_next_char (string); |
707 |
|
} |
708 |
|
} |
709 |
|
else if (window->buffer->has_input) |
710 |
{ |
{ |
711 |
if (pos == -1) |
if (pos == -1) |
712 |
pos = window->buffer->input_buffer_pos; |
pos = window->buffer->input_buffer_pos; |
713 |
|
|
714 |
length = strlen (string); |
size = strlen (string); |
715 |
|
length = utf8_strlen (string); |
716 |
|
|
717 |
/* increase buffer size */ |
/* increase buffer size */ |
718 |
window->buffer->input_buffer_size += length; |
window->buffer->input_buffer_size += size; |
719 |
|
window->buffer->input_buffer_length += length; |
720 |
gui_input_optimize_buffer_size (window->buffer); |
gui_input_optimize_buffer_size (window->buffer); |
721 |
window->buffer->input_buffer[window->buffer->input_buffer_size] = '\0'; |
window->buffer->input_buffer[window->buffer->input_buffer_size] = '\0'; |
722 |
|
|
723 |
/* move end of string to the right */ |
/* move end of string to the right */ |
724 |
start = pos + length; |
ptr_start = utf8_add_offset (window->buffer->input_buffer, pos); |
725 |
end = window->buffer->input_buffer_size - 1; |
memmove (ptr_start + size, ptr_start, strlen (ptr_start)); |
|
for (i = end; i >= start; i--) |
|
|
window->buffer->input_buffer[i] = |
|
|
window->buffer->input_buffer[i - length]; |
|
726 |
|
|
727 |
/* insert new string */ |
/* insert new string */ |
728 |
strncpy (window->buffer->input_buffer + pos, string, length); |
strncpy (utf8_add_offset (window->buffer->input_buffer, pos), string, size); |
729 |
|
return length; |
730 |
} |
} |
731 |
|
return 0; |
732 |
} |
} |
733 |
|
|
734 |
/* |
/* |
735 |
* gui_input_insert_char: insert a char into input buffer |
* gui_input_clipboard_copy: copy string into clipboard |
736 |
*/ |
*/ |
737 |
|
|
738 |
void |
void |
739 |
gui_input_insert_char (t_gui_window *window, int key) |
gui_input_clipboard_copy (char *buffer, int size) |
740 |
{ |
{ |
741 |
char new_char[3]; |
if (size <= 0) |
|
t_irc_dcc *dcc_selected, *ptr_dcc, *ptr_dcc_next; |
|
|
|
|
|
if (key < 32) |
|
742 |
return; |
return; |
743 |
|
|
744 |
if (window->buffer->dcc) |
if (gui_input_clipboard != NULL) |
745 |
|
free (gui_input_clipboard); |
746 |
|
|
747 |
|
gui_input_clipboard = (char *) malloc( (size + 1) * sizeof(*gui_input_clipboard)); |
748 |
|
|
749 |
|
if (gui_input_clipboard) |
750 |
{ |
{ |
751 |
dcc_selected = (window->dcc_selected) ? |
memcpy (gui_input_clipboard, buffer, size); |
752 |
(t_irc_dcc *) window->dcc_selected : dcc_list; |
gui_input_clipboard[size] = '\0'; |
|
switch (key) |
|
|
{ |
|
|
/* accept DCC */ |
|
|
case 'a': |
|
|
case 'A': |
|
|
if (dcc_selected |
|
|
&& (DCC_IS_RECV(dcc_selected->status)) |
|
|
&& (dcc_selected->status == DCC_WAITING)) |
|
|
{ |
|
|
dcc_accept (dcc_selected); |
|
|
} |
|
|
break; |
|
|
/* cancel DCC */ |
|
|
case 'c': |
|
|
case 'C': |
|
|
if (dcc_selected |
|
|
&& (!DCC_ENDED(dcc_selected->status))) |
|
|
{ |
|
|
dcc_close (dcc_selected, DCC_ABORTED); |
|
|
gui_redraw_buffer (window->buffer); |
|
|
} |
|
|
break; |
|
|
/* purge old DCC */ |
|
|
case 'p': |
|
|
case 'P': |
|
|
window->dcc_selected = NULL; |
|
|
ptr_dcc = dcc_list; |
|
|
while (ptr_dcc) |
|
|
{ |
|
|
ptr_dcc_next = ptr_dcc->next_dcc; |
|
|
if (DCC_ENDED(ptr_dcc->status)) |
|
|
dcc_free (ptr_dcc); |
|
|
ptr_dcc = ptr_dcc_next; |
|
|
} |
|
|
gui_redraw_buffer (window->buffer); |
|
|
break; |
|
|
/* close DCC window */ |
|
|
case 'q': |
|
|
case 'Q': |
|
|
if (buffer_before_dcc) |
|
|
{ |
|
|
gui_buffer_free (window->buffer, 1); |
|
|
gui_switch_to_buffer (window, buffer_before_dcc); |
|
|
} |
|
|
else |
|
|
gui_buffer_free (window->buffer, 1); |
|
|
gui_redraw_buffer (window->buffer); |
|
|
break; |
|
|
/* remove from DCC list */ |
|
|
case 'r': |
|
|
case 'R': |
|
|
if (dcc_selected |
|
|
&& (DCC_ENDED(dcc_selected->status))) |
|
|
{ |
|
|
if (dcc_selected->next_dcc) |
|
|
window->dcc_selected = dcc_selected->next_dcc; |
|
|
else |
|
|
window->dcc_selected = NULL; |
|
|
dcc_free (dcc_selected); |
|
|
gui_redraw_buffer (window->buffer); |
|
|
} |
|
|
break; |
|
|
} |
|
753 |
} |
} |
754 |
else if (window->buffer->has_input) |
} |
755 |
|
|
756 |
|
/* |
757 |
|
* gui_input_clipboard_paste: paste clipboard at cursor pos in input line |
758 |
|
*/ |
759 |
|
|
760 |
|
void |
761 |
|
gui_input_clipboard_paste (t_gui_window *window) |
762 |
|
{ |
763 |
|
if (window->buffer->has_input && gui_input_clipboard) |
764 |
{ |
{ |
765 |
/*gui_printf (window->buffer, |
gui_input_insert_string (window, gui_input_clipboard, -1); |
766 |
"[Debug] key pressed = %d, hex = %02X, octal = %o\n", key, key, key);*/ |
window->buffer->input_buffer_pos += utf8_strlen (gui_input_clipboard); |
|
new_char[0] = key; |
|
|
new_char[1] = '\0'; |
|
|
|
|
|
gui_input_insert_string (window, new_char, |
|
|
window->buffer->input_buffer_pos); |
|
|
window->buffer->input_buffer_pos++; |
|
767 |
gui_draw_buffer_input (window->buffer, 0); |
gui_draw_buffer_input (window->buffer, 0); |
768 |
window->buffer->completion.position = -1; |
window->buffer->completion.position = -1; |
769 |
} |
} |
785 |
window->buffer->input_buffer[window->buffer->input_buffer_size] = '\0'; |
window->buffer->input_buffer[window->buffer->input_buffer_size] = '\0'; |
786 |
history_add (window->buffer, window->buffer->input_buffer); |
history_add (window->buffer, window->buffer->input_buffer); |
787 |
window->buffer->input_buffer_size = 0; |
window->buffer->input_buffer_size = 0; |
788 |
|
window->buffer->input_buffer_length = 0; |
789 |
window->buffer->input_buffer_pos = 0; |
window->buffer->input_buffer_pos = 0; |
790 |
window->buffer->input_buffer_1st_display = 0; |
window->buffer->input_buffer_1st_display = 0; |
791 |
window->buffer->completion.position = -1; |
window->buffer->completion.position = -1; |
818 |
CHANNEL(window->buffer), |
CHANNEL(window->buffer), |
819 |
window->buffer->input_buffer, |
window->buffer->input_buffer, |
820 |
window->buffer->input_buffer_size, |
window->buffer->input_buffer_size, |
821 |
window->buffer->input_buffer_pos); |
utf8_real_pos (window->buffer->input_buffer, |
822 |
|
window->buffer->input_buffer_pos)); |
823 |
|
|
824 |
if (window->buffer->completion.word_found) |
if (window->buffer->completion.word_found) |
825 |
{ |
{ |
828 |
{ |
{ |
829 |
window->buffer->input_buffer_size += |
window->buffer->input_buffer_size += |
830 |
window->buffer->completion.diff_size; |
window->buffer->completion.diff_size; |
831 |
|
window->buffer->input_buffer_length += |
832 |
|
window->buffer->completion.diff_length; |
833 |
gui_input_optimize_buffer_size (window->buffer); |
gui_input_optimize_buffer_size (window->buffer); |
834 |
window->buffer->input_buffer[window->buffer->input_buffer_size] = '\0'; |
window->buffer->input_buffer[window->buffer->input_buffer_size] = '\0'; |
835 |
for (i = window->buffer->input_buffer_size - 1; |
for (i = window->buffer->input_buffer_size - 1; |
847 |
window->buffer->input_buffer[i - window->buffer->completion.diff_size]; |
window->buffer->input_buffer[i - window->buffer->completion.diff_size]; |
848 |
window->buffer->input_buffer_size += |
window->buffer->input_buffer_size += |
849 |
window->buffer->completion.diff_size; |
window->buffer->completion.diff_size; |
850 |
|
window->buffer->input_buffer_length += |
851 |
|
window->buffer->completion.diff_length; |
852 |
gui_input_optimize_buffer_size (window->buffer); |
gui_input_optimize_buffer_size (window->buffer); |
853 |
window->buffer->input_buffer[window->buffer->input_buffer_size] = '\0'; |
window->buffer->input_buffer[window->buffer->input_buffer_size] = '\0'; |
854 |
} |
} |
855 |
|
|
856 |
strncpy (window->buffer->input_buffer + window->buffer->completion.position_replace, |
strncpy (window->buffer->input_buffer + window->buffer->completion.position_replace, |
857 |
window->buffer->completion.word_found, |
window->buffer->completion.word_found, |
858 |
strlen (window->buffer->completion.word_found)); |
strlen (window->buffer->completion.word_found)); |
859 |
window->buffer->input_buffer_pos = |
window->buffer->input_buffer_pos = |
860 |
window->buffer->completion.position_replace + |
utf8_pos (window->buffer->input_buffer, |
861 |
strlen (window->buffer->completion.word_found); |
window->buffer->completion.position_replace) + |
862 |
|
utf8_strlen (window->buffer->completion.word_found); |
863 |
|
|
864 |
/* position is < 0 this means only one word was found to complete, |
/* position is < 0 this means only one word was found to complete, |
865 |
so reinit to stop completion */ |
so reinit to stop completion */ |
866 |
if (window->buffer->completion.position >= 0) |
if (window->buffer->completion.position >= 0) |
867 |
window->buffer->completion.position = |
window->buffer->completion.position = |
868 |
window->buffer->input_buffer_pos; |
utf8_real_pos (window->buffer->input_buffer, |
869 |
|
window->buffer->input_buffer_pos); |
870 |
|
|
871 |
/* add space or completor to the end of completion, if needed */ |
/* add space or completor to the end of completion, if needed */ |
872 |
if ((window->buffer->completion.context == COMPLETION_COMMAND) |
if ((window->buffer->completion.context == COMPLETION_COMMAND) |
873 |
|| (window->buffer->completion.context == COMPLETION_COMMAND_ARG)) |
|| (window->buffer->completion.context == COMPLETION_COMMAND_ARG)) |
874 |
{ |
{ |
875 |
if (window->buffer->input_buffer[window->buffer->input_buffer_pos] != ' ') |
if (window->buffer->input_buffer[utf8_real_pos (window->buffer->input_buffer, |
876 |
|
window->buffer->input_buffer_pos)] != ' ') |
877 |
gui_input_insert_string (window, " ", |
gui_input_insert_string (window, " ", |
878 |
window->buffer->input_buffer_pos); |
window->buffer->input_buffer_pos); |
879 |
if (window->buffer->completion.position >= 0) |
if (window->buffer->completion.position >= 0) |
886 |
if ((window->buffer->completion.base_word_pos == 0) |
if ((window->buffer->completion.base_word_pos == 0) |
887 |
&& (window->buffer->completion.context == COMPLETION_NICK)) |
&& (window->buffer->completion.context == COMPLETION_NICK)) |
888 |
{ |
{ |
889 |
if (strncmp (window->buffer->input_buffer + window->buffer->input_buffer_pos, |
if (strncmp (utf8_add_offset (window->buffer->input_buffer, |
890 |
|
window->buffer->input_buffer_pos), |
891 |
cfg_look_completor, strlen (cfg_look_completor)) != 0) |
cfg_look_completor, strlen (cfg_look_completor)) != 0) |
892 |
gui_input_insert_string (window, cfg_look_completor, |
gui_input_insert_string (window, cfg_look_completor, |
893 |
window->buffer->input_buffer_pos); |
window->buffer->input_buffer_pos); |
894 |
if (window->buffer->completion.position >= 0) |
if (window->buffer->completion.position >= 0) |
895 |
window->buffer->completion.position += strlen (cfg_look_completor); |
window->buffer->completion.position += strlen (cfg_look_completor); |
896 |
window->buffer->input_buffer_pos += strlen (cfg_look_completor); |
window->buffer->input_buffer_pos += utf8_strlen (cfg_look_completor); |
897 |
if (window->buffer->input_buffer[window->buffer->input_buffer_pos] != ' ') |
if (window->buffer->input_buffer[utf8_real_pos (window->buffer->input_buffer, |
898 |
|
window->buffer->input_buffer_pos)] != ' ') |
899 |
gui_input_insert_string (window, " ", |
gui_input_insert_string (window, " ", |
900 |
window->buffer->input_buffer_pos); |
window->buffer->input_buffer_pos); |
901 |
if (window->buffer->completion.position >= 0) |
if (window->buffer->completion.position >= 0) |
915 |
void |
void |
916 |
gui_input_backspace (t_gui_window *window) |
gui_input_backspace (t_gui_window *window) |
917 |
{ |
{ |
918 |
int i; |
char *pos, *pos_last; |
919 |
|
int char_size, size_to_move; |
920 |
|
|
921 |
if (window->buffer->has_input) |
if (window->buffer->has_input) |
922 |
{ |
{ |
923 |
if (window->buffer->input_buffer_pos > 0) |
if (window->buffer->input_buffer_pos > 0) |
924 |
{ |
{ |
925 |
i = window->buffer->input_buffer_pos-1; |
pos = utf8_add_offset (window->buffer->input_buffer, |
926 |
while (window->buffer->input_buffer[i]) |
window->buffer->input_buffer_pos); |
927 |
{ |
pos_last = utf8_prev_char (window->buffer->input_buffer, pos); |
928 |
window->buffer->input_buffer[i] = |
char_size = pos - pos_last; |
929 |
window->buffer->input_buffer[i+1]; |
size_to_move = strlen (pos); |
930 |
i++; |
memmove (pos_last, pos, size_to_move); |
931 |
} |
window->buffer->input_buffer_size -= char_size; |
932 |
window->buffer->input_buffer_size--; |
window->buffer->input_buffer_length--; |
933 |
window->buffer->input_buffer_pos--; |
window->buffer->input_buffer_pos--; |
934 |
window->buffer->input_buffer[window->buffer->input_buffer_size] = '\0'; |
window->buffer->input_buffer[window->buffer->input_buffer_size] = '\0'; |
|
gui_draw_buffer_input (window->buffer, 0); |
|
935 |
gui_input_optimize_buffer_size (window->buffer); |
gui_input_optimize_buffer_size (window->buffer); |
936 |
|
gui_draw_buffer_input (window->buffer, 0); |
937 |
window->buffer->completion.position = -1; |
window->buffer->completion.position = -1; |
938 |
} |
} |
939 |
} |
} |
946 |
void |
void |
947 |
gui_input_delete (t_gui_window *window) |
gui_input_delete (t_gui_window *window) |
948 |
{ |
{ |
949 |
int i; |
char *pos, *pos_next; |
950 |
|
int char_size, size_to_move; |
951 |
|
|
952 |
if (window->buffer->has_input) |
if (window->buffer->has_input) |
953 |
{ |
{ |
954 |
if (window->buffer->input_buffer_pos < |
if (window->buffer->input_buffer_pos < |
955 |
window->buffer->input_buffer_size) |
window->buffer->input_buffer_length) |
956 |
{ |
{ |
957 |
i = window->buffer->input_buffer_pos; |
pos = utf8_add_offset (window->buffer->input_buffer, |
958 |
while (window->buffer->input_buffer[i]) |
window->buffer->input_buffer_pos); |
959 |
{ |
pos_next = utf8_next_char (pos); |
960 |
window->buffer->input_buffer[i] = |
char_size = pos_next - pos; |
961 |
window->buffer->input_buffer[i+1]; |
size_to_move = strlen (pos_next); |
962 |
i++; |
memmove (pos, pos_next, size_to_move); |
963 |
} |
window->buffer->input_buffer_size -= char_size; |
964 |
window->buffer->input_buffer_size--; |
window->buffer->input_buffer_length--; |
965 |
window->buffer->input_buffer[window->buffer->input_buffer_size] = '\0'; |
window->buffer->input_buffer[window->buffer->input_buffer_size] = '\0'; |
|
gui_draw_buffer_input (window->buffer, 0); |
|
966 |
gui_input_optimize_buffer_size (window->buffer); |
gui_input_optimize_buffer_size (window->buffer); |
967 |
|
gui_draw_buffer_input (window->buffer, 0); |
968 |
window->buffer->completion.position = -1; |
window->buffer->completion.position = -1; |
969 |
} |
} |
970 |
} |
} |
977 |
void |
void |
978 |
gui_input_delete_previous_word (t_gui_window *window) |
gui_input_delete_previous_word (t_gui_window *window) |
979 |
{ |
{ |
980 |
int i, j, num_char_deleted, num_char_end; |
int length_deleted, size_deleted; |
981 |
|
char *start, *string; |
982 |
|
|
983 |
if (window->buffer->has_input) |
if (window->buffer->has_input) |
984 |
{ |
{ |
985 |
if (window->buffer->input_buffer_pos > 0) |
if (window->buffer->input_buffer_pos > 0) |
986 |
{ |
{ |
987 |
i = window->buffer->input_buffer_pos - 1; |
start = utf8_add_offset (window->buffer->input_buffer, |
988 |
while ((i >= 0) && |
window->buffer->input_buffer_pos - 1); |
989 |
(window->buffer->input_buffer[i] == ' ')) |
string = start; |
990 |
i--; |
while (string && (string[0] == ' ')) |
991 |
if (i >= 0) |
{ |
992 |
{ |
string = utf8_prev_char (window->buffer->input_buffer, string); |
993 |
while ((i >= 0) && |
} |
994 |
(window->buffer->input_buffer[i] != ' ')) |
if (string) |
995 |
i--; |
{ |
996 |
if (i >= 0) |
while (string && (string[0] != ' ')) |
997 |
{ |
{ |
998 |
while ((i >= 0) && |
string = utf8_prev_char (window->buffer->input_buffer, string); |
999 |
(window->buffer->input_buffer[i] == ' ')) |
} |
1000 |
i--; |
if (string) |
1001 |
|
{ |
1002 |
|
while (string && (string[0] == ' ')) |
1003 |
|
{ |
1004 |
|
string = utf8_prev_char (window->buffer->input_buffer, string); |
1005 |
|
} |
1006 |
} |
} |
1007 |
} |
} |
1008 |
|
|
1009 |
if (i >= 0) |
if (string) |
1010 |
i++; |
string = utf8_next_char (utf8_next_char (string)); |
1011 |
i++; |
else |
1012 |
num_char_deleted = window->buffer->input_buffer_pos - i; |
string = window->buffer->input_buffer; |
1013 |
num_char_end = window->buffer->input_buffer_size - |
|
1014 |
window->buffer->input_buffer_pos; |
size_deleted = utf8_next_char (start) - string; |
1015 |
|
length_deleted = utf8_strnlen (string, size_deleted); |
1016 |
|
|
1017 |
gui_input_clipboard_copy(window->buffer->input_buffer + |
gui_input_clipboard_copy (string, size_deleted); |
|
window->buffer->input_buffer_pos - num_char_deleted, |
|
|
num_char_deleted); |
|
1018 |
|
|
1019 |
for (j = 0; j < num_char_end; j++) |
memmove (string, string + size_deleted, size_deleted); |
|
window->buffer->input_buffer[i + j] = |
|
|
window->buffer->input_buffer[window->buffer->input_buffer_pos + j]; |
|
1020 |
|
|
1021 |
window->buffer->input_buffer_size -= num_char_deleted; |
window->buffer->input_buffer_size -= size_deleted; |
1022 |
|
window->buffer->input_buffer_length -= length_deleted; |
1023 |
window->buffer->input_buffer[window->buffer->input_buffer_size] = '\0'; |
window->buffer->input_buffer[window->buffer->input_buffer_size] = '\0'; |
1024 |
window->buffer->input_buffer_pos = i; |
window->buffer->input_buffer_pos -= length_deleted; |
|
gui_draw_buffer_input (window->buffer, 0); |
|
1025 |
gui_input_optimize_buffer_size (window->buffer); |
gui_input_optimize_buffer_size (window->buffer); |
1026 |
|
gui_draw_buffer_input (window->buffer, 0); |
1027 |
window->buffer->completion.position = -1; |
window->buffer->completion.position = -1; |
1028 |
} |
} |
1029 |
} |
} |
1036 |
void |
void |
1037 |
gui_input_delete_next_word (t_gui_window *window) |
gui_input_delete_next_word (t_gui_window *window) |
1038 |
{ |
{ |
1039 |
int i, j, num_char_deleted; |
int size_deleted, length_deleted; |
1040 |
|
char *start, *string; |
1041 |
|
|
1042 |
if (window->buffer->has_input) |
if (window->buffer->has_input) |
1043 |
{ |
{ |
1044 |
i = window->buffer->input_buffer_pos; |
start = utf8_add_offset (window->buffer->input_buffer, |
1045 |
while (i < window->buffer->input_buffer_size) |
window->buffer->input_buffer_pos); |
1046 |
|
string = start; |
1047 |
|
length_deleted = 0; |
1048 |
|
while (string[0]) |
1049 |
{ |
{ |
1050 |
if ((window->buffer->input_buffer[i] == ' ') |
if ((string[0] == ' ') && (string > start)) |
|
&& i != window->buffer->input_buffer_pos) |
|
1051 |
break; |
break; |
1052 |
i++; |
string = utf8_next_char (string); |
1053 |
|
length_deleted++; |
1054 |
} |
} |
1055 |
num_char_deleted = i - window->buffer->input_buffer_pos; |
size_deleted = string - start; |
1056 |
|
|
1057 |
gui_input_clipboard_copy(window->buffer->input_buffer + |
gui_input_clipboard_copy(start, size_deleted); |
|
window->buffer->input_buffer_pos, num_char_deleted); |
|
1058 |
|
|
1059 |
for (j = i; j < window->buffer->input_buffer_size; j++) |
memmove (start, string, strlen (string)); |
|
window->buffer->input_buffer[j - num_char_deleted] = |
|
|
window->buffer->input_buffer[j]; |
|
1060 |
|
|
1061 |
window->buffer->input_buffer_size -= num_char_deleted; |
window->buffer->input_buffer_size -= size_deleted; |
1062 |
|
window->buffer->input_buffer_length -= length_deleted; |
1063 |
window->buffer->input_buffer[window->buffer->input_buffer_size] = '\0'; |
window->buffer->input_buffer[window->buffer->input_buffer_size] = '\0'; |
|
gui_draw_buffer_input (window->buffer, 0); |
|
1064 |
gui_input_optimize_buffer_size (window->buffer); |
gui_input_optimize_buffer_size (window->buffer); |
1065 |
|
gui_draw_buffer_input (window->buffer, 0); |
1066 |
window->buffer->completion.position = -1; |
window->buffer->completion.position = -1; |
1067 |
} |
} |
1068 |
} |
} |
1074 |
void |
void |
1075 |
gui_input_delete_begin_of_line (t_gui_window *window) |
gui_input_delete_begin_of_line (t_gui_window *window) |
1076 |
{ |
{ |
1077 |
int i; |
int length_deleted, size_deleted; |
1078 |
|
char *start; |
1079 |
|
|
1080 |
if (window->buffer->has_input) |
if (window->buffer->has_input) |
1081 |
{ |
{ |
1082 |
if (window->buffer->input_buffer_pos > 0) |
if (window->buffer->input_buffer_pos > 0) |
1083 |
{ |
{ |
1084 |
|
start = utf8_add_offset (window->buffer->input_buffer, |
1085 |
|
window->buffer->input_buffer_pos); |
1086 |
|
size_deleted = start - window->buffer->input_buffer; |
1087 |
|
length_deleted = utf8_strnlen (window->buffer->input_buffer, size_deleted); |
1088 |
gui_input_clipboard_copy (window->buffer->input_buffer, |
gui_input_clipboard_copy (window->buffer->input_buffer, |
1089 |
window->buffer->input_buffer_pos); |
start - window->buffer->input_buffer); |
1090 |
|
|
1091 |
for (i = window->buffer->input_buffer_pos; |
memmove (window->buffer->input_buffer, start, strlen (start)); |
|
i < window->buffer->input_buffer_size; i++) |
|
|
window->buffer->input_buffer[i - window->buffer->input_buffer_pos] = |
|
|
window->buffer->input_buffer[i]; |
|
1092 |
|
|
1093 |
window->buffer->input_buffer_size -= |
window->buffer->input_buffer_size -= size_deleted; |
1094 |
window->buffer->input_buffer_pos; |
window->buffer->input_buffer_length -= length_deleted; |
1095 |
window->buffer->input_buffer[window->buffer->input_buffer_size] = '\0'; |
window->buffer->input_buffer[window->buffer->input_buffer_size] = '\0'; |
1096 |
window->buffer->input_buffer_pos = 0; |
window->buffer->input_buffer_pos = 0; |
|
gui_draw_buffer_input (window->buffer, 0); |
|
1097 |
gui_input_optimize_buffer_size (window->buffer); |
gui_input_optimize_buffer_size (window->buffer); |
1098 |
|
gui_draw_buffer_input (window->buffer, 0); |
1099 |
window->buffer->completion.position = -1; |
window->buffer->completion.position = -1; |
1100 |
} |
} |
1101 |
} |
} |
1108 |
void |
void |
1109 |
gui_input_delete_end_of_line (t_gui_window *window) |
gui_input_delete_end_of_line (t_gui_window *window) |
1110 |
{ |
{ |
1111 |
|
char *start; |
1112 |
|
int size_deleted, length_deleted; |
1113 |
|
|
1114 |
if (window->buffer->has_input) |
if (window->buffer->has_input) |
1115 |
{ |
{ |
1116 |
gui_input_clipboard_copy(window->buffer->input_buffer + |
start = utf8_add_offset (window->buffer->input_buffer, |
|
window->buffer->input_buffer_pos, |
|
|
window->buffer->input_buffer_size - |
|
1117 |
window->buffer->input_buffer_pos); |
window->buffer->input_buffer_pos); |
1118 |
window->buffer->input_buffer[window->buffer->input_buffer_pos] = ' '; |
size_deleted = strlen (start); |
1119 |
window->buffer->input_buffer_size = window->buffer->input_buffer_pos ; |
length_deleted = utf8_strlen (start); |
1120 |
window->buffer->input_buffer[window->buffer->input_buffer_size] = '\0'; |
gui_input_clipboard_copy(start, size_deleted); |
1121 |
gui_draw_buffer_input (window->buffer, 0); |
start[0] = '\0'; |
1122 |
|
window->buffer->input_buffer_size = strlen (window->buffer->input_buffer); |
1123 |
|
window->buffer->input_buffer_length = utf8_strlen (window->buffer->input_buffer); |
1124 |
gui_input_optimize_buffer_size (window->buffer); |
gui_input_optimize_buffer_size (window->buffer); |
1125 |
|
gui_draw_buffer_input (window->buffer, 0); |
1126 |
window->buffer->completion.position = -1; |
window->buffer->completion.position = -1; |
1127 |
} |
} |
1128 |
} |
} |
1138 |
{ |
{ |
1139 |
window->buffer->input_buffer[0] = '\0'; |
window->buffer->input_buffer[0] = '\0'; |
1140 |
window->buffer->input_buffer_size = 0; |
window->buffer->input_buffer_size = 0; |
1141 |
|
window->buffer->input_buffer_length = 0; |
1142 |
window->buffer->input_buffer_pos = 0; |
window->buffer->input_buffer_pos = 0; |
|
gui_draw_buffer_input (window->buffer, 0); |
|
1143 |
gui_input_optimize_buffer_size (window->buffer); |
gui_input_optimize_buffer_size (window->buffer); |
1144 |
|
gui_draw_buffer_input (window->buffer, 0); |
1145 |
window->buffer->completion.position = -1; |
window->buffer->completion.position = -1; |
1146 |
} |
} |
1147 |
} |
} |
1153 |
void |
void |
1154 |
gui_input_transpose_chars (t_gui_window *window) |
gui_input_transpose_chars (t_gui_window *window) |
1155 |
{ |
{ |
1156 |
char buf; |
char *start, *prev_char, saved_char[4]; |
1157 |
int curpos; |
int size_current_char; |
1158 |
|
|
1159 |
if (window->buffer->has_input) |
if (window->buffer->has_input) |
1160 |
{ |
{ |
1161 |
if (window->buffer->input_buffer_pos > 0) |
if (window->buffer->input_buffer_pos > 0) |
1162 |
{ |
{ |
1163 |
curpos = window->buffer->input_buffer_pos; |
if (window->buffer->input_buffer_pos == window->buffer->input_buffer_length) |
1164 |
if (curpos == window->buffer->input_buffer_size) |
window->buffer->input_buffer_pos--; |
1165 |
curpos--; |
|
1166 |
else |
start = utf8_add_offset (window->buffer->input_buffer, |
1167 |
window->buffer->input_buffer_pos++; |
window->buffer->input_buffer_pos); |
1168 |
|
prev_char = utf8_prev_char (window->buffer->input_buffer, |
1169 |
|
start); |
1170 |
|
size_current_char = start - prev_char; |
1171 |
|
memcpy (saved_char, prev_char, size_current_char); |
1172 |
|
memcpy (prev_char, start, utf8_char_size (start)); |
1173 |
|
start = utf8_next_char (prev_char); |
1174 |
|
memcpy (start, saved_char, size_current_char); |
1175 |
|
|
1176 |
buf = window->buffer->input_buffer[curpos]; |
window->buffer->input_buffer_pos++; |
|
window->buffer->input_buffer[curpos] = |
|
|
window->buffer->input_buffer[curpos-1]; |
|
|
window->buffer->input_buffer[curpos-1] = buf; |
|
1177 |
|
|
1178 |
gui_draw_buffer_input (window->buffer, 0); |
gui_draw_buffer_input (window->buffer, 0); |
1179 |
window->buffer->completion.position = -1; |
window->buffer->completion.position = -1; |
1208 |
if (window->buffer->has_input) |
if (window->buffer->has_input) |
1209 |
{ |
{ |
1210 |
if (window->buffer->input_buffer_pos < |
if (window->buffer->input_buffer_pos < |
1211 |
window->buffer->input_buffer_size) |
window->buffer->input_buffer_length) |
1212 |
{ |
{ |
1213 |
window->buffer->input_buffer_pos = |
window->buffer->input_buffer_pos = |
1214 |
window->buffer->input_buffer_size; |
window->buffer->input_buffer_length; |
1215 |
gui_draw_buffer_input (window->buffer, 0); |
gui_draw_buffer_input (window->buffer, 0); |
1216 |
} |
} |
1217 |
} |
} |
1241 |
void |
void |
1242 |
gui_input_previous_word (t_gui_window *window) |
gui_input_previous_word (t_gui_window *window) |
1243 |
{ |
{ |
1244 |
int i; |
char *pos; |
1245 |
|
|
1246 |
if (window->buffer->has_input) |
if (window->buffer->has_input) |
1247 |
{ |
{ |
1248 |
if (window->buffer->input_buffer_pos > 0) |
if (window->buffer->input_buffer_pos > 0) |
1249 |
{ |
{ |
1250 |
i = window->buffer->input_buffer_pos - 1; |
pos = utf8_add_offset (window->buffer->input_buffer, |
1251 |
while ((i >= 0) && |
window->buffer->input_buffer_pos - 1); |
1252 |
(window->buffer->input_buffer[i] == ' ')) |
while (pos && (pos[0] == ' ')) |
|
i--; |
|
|
if (i < 0) |
|
|
window->buffer->input_buffer_pos = 0; |
|
|
else |
|
1253 |
{ |
{ |
1254 |
while ((i >= 0) && |
pos = utf8_prev_char (window->buffer->input_buffer, pos); |
|
(window->buffer->input_buffer[i] != ' ')) |
|
|
i--; |
|
|
window->buffer->input_buffer_pos = i + 1; |
|
1255 |
} |
} |
1256 |
|
if (pos) |
1257 |
|
{ |
1258 |
|
while (pos && (pos[0] != ' ')) |
1259 |
|
{ |
1260 |
|
pos = utf8_prev_char (window->buffer->input_buffer, pos); |
1261 |
|
} |
1262 |
|
if (pos) |
1263 |
|
pos = utf8_next_char (pos); |
1264 |
|
else |
1265 |
|
pos = window->buffer->input_buffer; |
1266 |
|
window->buffer->input_buffer_pos = utf8_pos (window->buffer->input_buffer, |
1267 |
|
pos - window->buffer->input_buffer); |
1268 |
|
} |
1269 |
|
else |
1270 |
|
window->buffer->input_buffer_pos = 0; |
1271 |
|
|
1272 |
gui_draw_buffer_input (window->buffer, 0); |
gui_draw_buffer_input (window->buffer, 0); |
1273 |
} |
} |
1274 |
} |
} |
1284 |
if (window->buffer->has_input) |
if (window->buffer->has_input) |
1285 |
{ |
{ |
1286 |
if (window->buffer->input_buffer_pos < |
if (window->buffer->input_buffer_pos < |
1287 |
window->buffer->input_buffer_size) |
window->buffer->input_buffer_length) |
1288 |
{ |
{ |
1289 |
window->buffer->input_buffer_pos++; |
window->buffer->input_buffer_pos++; |
1290 |
gui_draw_buffer_input (window->buffer, 0); |
gui_draw_buffer_input (window->buffer, 0); |
1299 |
void |
void |
1300 |
gui_input_next_word (t_gui_window *window) |
gui_input_next_word (t_gui_window *window) |
1301 |
{ |
{ |
1302 |
int i; |
char *pos; |
1303 |
|
|
1304 |
if (window->buffer->has_input) |
if (window->buffer->has_input) |
1305 |
{ |
{ |
1306 |
if (window->buffer->input_buffer_pos < |
if (window->buffer->input_buffer_pos < |
1307 |
window->buffer->input_buffer_size + 1) |
window->buffer->input_buffer_length) |
1308 |
{ |
{ |
1309 |
i = window->buffer->input_buffer_pos; |
pos = utf8_add_offset (window->buffer->input_buffer, |
1310 |
while ((i <= window->buffer->input_buffer_size) && |
window->buffer->input_buffer_pos); |
1311 |
(window->buffer->input_buffer[i] == ' ')) |
while (pos[0] && (pos[0] == ' ')) |
1312 |
i++; |
{ |
1313 |
if (i > window->buffer->input_buffer_size) |
pos = utf8_next_char (pos); |
1314 |
window->buffer->input_buffer_pos = i - 1; |
} |
1315 |
else |
if (pos[0]) |
1316 |
{ |
{ |
1317 |
while ((i <= window->buffer->input_buffer_size) && |
while (pos[0] && (pos[0] != ' ')) |
1318 |
(window->buffer->input_buffer[i] != ' ')) |
{ |
1319 |
i++; |
pos = utf8_next_char (pos); |
1320 |
if (i > window->buffer->input_buffer_size) |
} |
1321 |
|
if (pos[0]) |
1322 |
window->buffer->input_buffer_pos = |
window->buffer->input_buffer_pos = |
1323 |
window->buffer->input_buffer_size; |
utf8_pos (window->buffer->input_buffer, |
1324 |
|
pos - window->buffer->input_buffer); |
1325 |
else |
else |
1326 |
window->buffer->input_buffer_pos = i; |
window->buffer->input_buffer_pos = |
1327 |
|
window->buffer->input_buffer_length; |
1328 |
} |
} |
1329 |
|
else |
1330 |
|
window->buffer->input_buffer_pos = |
1331 |
|
utf8_pos (window->buffer->input_buffer, |
1332 |
|
utf8_prev_char (window->buffer->input_buffer, pos) - window->buffer->input_buffer); |
1333 |
|
|
1334 |
gui_draw_buffer_input (window->buffer, 0); |
gui_draw_buffer_input (window->buffer, 0); |
1335 |
} |
} |
1336 |
} |
} |
1378 |
{ |
{ |
1379 |
window->buffer->input_buffer_size = |
window->buffer->input_buffer_size = |
1380 |
strlen (window->buffer->ptr_history->text); |
strlen (window->buffer->ptr_history->text); |
1381 |
|
window->buffer->input_buffer_length = |
1382 |
|
utf8_strlen (window->buffer->ptr_history->text); |
1383 |
gui_input_optimize_buffer_size (window->buffer); |
gui_input_optimize_buffer_size (window->buffer); |
1384 |
window->buffer->input_buffer_pos = |
window->buffer->input_buffer_pos = |
1385 |
window->buffer->input_buffer_size; |
window->buffer->input_buffer_length; |
1386 |
strcpy (window->buffer->input_buffer, |
strcpy (window->buffer->input_buffer, |
1387 |
window->buffer->ptr_history->text); |
window->buffer->ptr_history->text); |
1388 |
gui_draw_buffer_input (window->buffer, 0); |
gui_draw_buffer_input (window->buffer, 0); |
1411 |
{ |
{ |
1412 |
window->buffer->input_buffer_size = |
window->buffer->input_buffer_size = |
1413 |
strlen (history_global_ptr->text); |
strlen (history_global_ptr->text); |
1414 |
|
window->buffer->input_buffer_length = |
1415 |
|
utf8_strlen (history_global_ptr->text); |
1416 |
gui_input_optimize_buffer_size (window->buffer); |
gui_input_optimize_buffer_size (window->buffer); |
1417 |
window->buffer->input_buffer_pos = |
window->buffer->input_buffer_pos = |
1418 |
window->buffer->input_buffer_size; |
window->buffer->input_buffer_length; |
1419 |
strcpy (window->buffer->input_buffer, |
strcpy (window->buffer->input_buffer, |
1420 |
history_global_ptr->text); |
history_global_ptr->text); |
1421 |
gui_draw_buffer_input (window->buffer, 0); |
gui_draw_buffer_input (window->buffer, 0); |
1466 |
window->buffer->ptr_history = |
window->buffer->ptr_history = |
1467 |
window->buffer->ptr_history->prev_history; |
window->buffer->ptr_history->prev_history; |
1468 |
if (window->buffer->ptr_history) |
if (window->buffer->ptr_history) |
1469 |
|
{ |
1470 |
window->buffer->input_buffer_size = |
window->buffer->input_buffer_size = |
1471 |
strlen (window->buffer->ptr_history->text); |
strlen (window->buffer->ptr_history->text); |
1472 |
|
window->buffer->input_buffer_length = |
1473 |
|
utf8_strlen (window->buffer->ptr_history->text); |
1474 |
|
} |
1475 |
else |
else |
1476 |
|
{ |
1477 |
window->buffer->input_buffer_size = 0; |
window->buffer->input_buffer_size = 0; |
1478 |
|
window->buffer->input_buffer_length = 0; |
1479 |
|
} |
1480 |
gui_input_optimize_buffer_size (window->buffer); |
gui_input_optimize_buffer_size (window->buffer); |
1481 |
window->buffer->input_buffer_pos = |
window->buffer->input_buffer_pos = |
1482 |
window->buffer->input_buffer_size; |
window->buffer->input_buffer_length; |
1483 |
if (window->buffer->ptr_history) |
if (window->buffer->ptr_history) |
1484 |
strcpy (window->buffer->input_buffer, |
strcpy (window->buffer->input_buffer, |
1485 |
window->buffer->ptr_history->text); |
window->buffer->ptr_history->text); |
1501 |
{ |
{ |
1502 |
history_global_ptr = history_global_ptr->prev_history; |
history_global_ptr = history_global_ptr->prev_history; |
1503 |
if (history_global_ptr) |
if (history_global_ptr) |
1504 |
|
{ |
1505 |
window->buffer->input_buffer_size = |
window->buffer->input_buffer_size = |
1506 |
strlen (history_global_ptr->text); |
strlen (history_global_ptr->text); |
1507 |
|
window->buffer->input_buffer_length = |
1508 |
|
utf8_strlen (history_global_ptr->text); |
1509 |
|
} |
1510 |
else |
else |
1511 |
|
{ |
1512 |
window->buffer->input_buffer_size = 0; |
window->buffer->input_buffer_size = 0; |
1513 |
|
window->buffer->input_buffer_length = 0; |
1514 |
|
} |
1515 |
gui_input_optimize_buffer_size (window->buffer); |
gui_input_optimize_buffer_size (window->buffer); |
1516 |
window->buffer->input_buffer_pos = |
window->buffer->input_buffer_pos = |
1517 |
window->buffer->input_buffer_size; |
window->buffer->input_buffer_length; |
1518 |
if (history_global_ptr) |
if (history_global_ptr) |
1519 |
strcpy (window->buffer->input_buffer, |
strcpy (window->buffer->input_buffer, |
1520 |
history_global_ptr->text); |
history_global_ptr->text); |
1977 |
wee_log_printf (" input_buffer . . . . : '%s'\n", buffer->input_buffer); |
wee_log_printf (" input_buffer . . . . : '%s'\n", buffer->input_buffer); |
1978 |
wee_log_printf (" input_buffer_alloc . : %d\n", buffer->input_buffer_alloc); |
wee_log_printf (" input_buffer_alloc . : %d\n", buffer->input_buffer_alloc); |
1979 |
wee_log_printf (" input_buffer_size. . : %d\n", buffer->input_buffer_size); |
wee_log_printf (" input_buffer_size. . : %d\n", buffer->input_buffer_size); |
1980 |
|
wee_log_printf (" input_buffer_length. : %d\n", buffer->input_buffer_length); |
1981 |
wee_log_printf (" input_buffer_pos . . : %d\n", buffer->input_buffer_pos); |
wee_log_printf (" input_buffer_pos . . : %d\n", buffer->input_buffer_pos); |
1982 |
wee_log_printf (" input_buffer_1st_disp: %d\n", buffer->input_buffer_1st_display); |
wee_log_printf (" input_buffer_1st_disp: %d\n", buffer->input_buffer_1st_display); |
1983 |
wee_log_printf (" history. . . . . . . : 0x%X\n", buffer->history); |
wee_log_printf (" history. . . . . . . : 0x%X\n", buffer->history); |