Commit 4a49b585c30fb3c8e59a3ad9cf3d86f0e81b2ed2

Authored by Perry Werneck
1 parent 2bad783a

Ajustes no módulo de transferência de arquivos

Showing 1 changed file with 16 additions and 2 deletions   Show diff stats
ft.c
... ... @@ -226,7 +226,21 @@ static void set_ft_state(H3270FT *session, LIB3270_FT_STATE state);
226 226  
227 227 // Open local file
228 228 #ifdef _WIN32
229   - ft_local_file = fopen(local,(flags & LIB3270_FT_OPTION_RECEIVE) ? ((flags & LIB3270_FT_OPTION_APPEND) ? "ab" : "wb") : "rb");
  229 +
  230 + char openmode[5] = "";
  231 + int opensize = 0;
  232 +
  233 + openmode[opensize++] = flags & LIB3270_FT_OPTION_RECEIVE ? "r" : "w";
  234 + openmode[opensize++] = flags & LIB3270_FT_OPTION_CRLF ? "t" : "b";
  235 +
  236 + // É para adicionar?
  237 + if(flags & LIB3270_FT_OPTION_APPEND) {
  238 + openmode[opensize++] = 'a';
  239 + }
  240 +
  241 + openmode[opensize++] = 0;
  242 + ft_local_file = fopen(local,openmode);
  243 +
230 244 #else
231 245 ft_local_file = fopen(local,(flags & LIB3270_FT_OPTION_RECEIVE) ? ((flags & LIB3270_FT_OPTION_APPEND) ? "a" : "w") : "r");
232 246 #endif // _WIN32
... ... @@ -289,7 +303,7 @@ static void set_ft_state(H3270FT *session, LIB3270_FT_STATE state);
289 303  
290 304 LIB3270_EXPORT int lib3270_ft_start(H3270 *hSession)
291 305 {
292   - static const char * rec = "fvu";
  306 + static const char * rec = "FVU";
293 307 static const char * un[] = { "tracks", "cylinders", "avblock" };
294 308  
295 309 char op[4096];
... ...