diff --git a/src/lib3270/ft.c b/src/lib3270/ft.c index 07d04f2..505d89f 100644 --- a/src/lib3270/ft.c +++ b/src/lib3270/ft.c @@ -226,24 +226,7 @@ static void set_ft_state(H3270FT *session, LIB3270_FT_STATE state); // Open local file #ifdef _WIN32 - - char openmode[5] = ""; - int opensize = 0; - - openmode[opensize++] = (flags & LIB3270_FT_OPTION_RECEIVE) ? 'w' : 'r'; - openmode[opensize++] = (flags & LIB3270_FT_OPTION_CRLF) ? 't' : 'b'; - - // É para adicionar? - if(flags & LIB3270_FT_OPTION_APPEND) { - openmode[opensize++] = 'a'; - } - - openmode[opensize++] = 0; - - debug("Opening \"%s\" with \"%s\"",local,openmode); - - ft_local_file = fopen(local,openmode); - + ft_local_file = fopen(local,(flags & LIB3270_FT_OPTION_RECEIVE) ? ((flags & LIB3270_FT_OPTION_APPEND) ? "ab" : "wb") : "rb"); #else ft_local_file = fopen(local,(flags & LIB3270_FT_OPTION_RECEIVE) ? ((flags & LIB3270_FT_OPTION_APPEND) ? "a" : "w") : "r"); #endif // _WIN32 diff --git a/src/lib3270/ft_cut.c b/src/lib3270/ft_cut.c index ef8c503..d5628bf 100644 --- a/src/lib3270/ft_cut.c +++ b/src/lib3270/ft_cut.c @@ -191,8 +191,10 @@ static int upload_convert(H3270 *hSession, unsigned char *buf, int len) /* Map it. */ c = conv[ft->quadrant].xlate[ix]; + if (ft->ascii_flag && ft->cr_flag && (c == '\r' || c == 0x1a)) continue; + if (ft->ascii_flag && ft->remap_flag) c = ft->charset.ebc2asc[c]; *ob++ = c; diff --git a/src/pw3270/v3270/mouse.c b/src/pw3270/v3270/mouse.c index 95666b3..6293b14 100644 --- a/src/pw3270/v3270/mouse.c +++ b/src/pw3270/v3270/mouse.c @@ -71,11 +71,11 @@ static void single_click(v3270 *widget, int baddr) { case 0x00: // Unselected area, move cursor and remove selection - v3270_disable_updates(widget); + v3270_disable_updates(GTK_WIDGET(widget)); lib3270_set_cursor_address(widget->host,baddr); lib3270_unselect(widget->host); widget->selecting = 1; - v3270_enable_updates(widget); + v3270_enable_updates(GTK_WIDGET(widget)); break; -- libgit2 0.21.2