Commit 4a49b585c30fb3c8e59a3ad9cf3d86f0e81b2ed2
1 parent
2bad783a
Exists in
master
and in
3 other branches
Ajustes no módulo de transferência de arquivos
Showing
1 changed file
with
16 additions
and
2 deletions
Show diff stats
... | ... | @@ -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]; | ... | ... |