1
0
mirror of https://github.com/rkd77/elinks.git synced 2024-12-04 14:46:47 -05:00

Merge with git+ssh://pasky.or.cz/srv/git/elinks.git

This commit is contained in:
Witold Filipczyk 2006-10-23 23:10:05 +02:00 committed by Witold Filipczyk
commit 5521ab2910
2 changed files with 21 additions and 16 deletions

View File

@ -1744,26 +1744,29 @@ field_op(struct session *ses, struct document_view *doc_view,
}
#ifdef CONFIG_UTF8
{
/* The charset of the terminal; we assume
* fs->value is in this charset.
* (Is that OK?) */
if (ses->tab->term->utf8) {
/* fs->value is in UTF-8 regardless of
* the charset of the terminal. */
text = encode_utf8(get_kbd_key(ev));
} else {
/* fs->value is in the charset of the
* terminal. */
int cp = get_opt_codepage_tree(ses->tab->term->spec,
"charset");
text = u2cp_no_nbsp(get_kbd_key(ev), cp);
length = strlen(text);
if (strlen(fs->value) + length > fc->maxlength
|| !insert_in_string(&fs->value, fs->state, text, length)) {
status = FRAME_EVENT_OK;
break;
}
fs->state += length;
if (fc->type == FC_TEXTAREA)
fs->state_cell = 0;
}
length = strlen(text);
if (strlen(fs->value) + length > fc->maxlength
|| !insert_in_string(&fs->value, fs->state, text, length)) {
status = FRAME_EVENT_OK;
break;
}
fs->state += length;
if (fc->type == FC_TEXTAREA)
fs->state_cell = 0;
#else
fs->value[fs->state++] = get_kbd_key(ev);
#endif /* CONFIG_UTF8 */

View File

@ -115,7 +115,9 @@ get_link_cursor_offset(struct document_view *doc_view, struct link *link)
struct form_control *fc;
struct form_state *fs;
#ifdef CONFIG_UTF8
int utf8 = doc_view->document->options.utf8;
/* The encoding of form fields depends on the terminal,
* rather than on the document. */
int utf8 = doc_view->session->tab->term->utf8;
#endif /* CONFIG_UTF8 */
switch (link->type) {