Commit c7743bf8efbd18454545f7f1625bcabba161d1c2
1 parent
e48d6f69
Exists in
master
and in
3 other branches
Finalizando diálogo de transferência de arquivos
Showing
3 changed files
with
115 additions
and
85 deletions
Show diff stats
@@ -160,11 +160,16 @@ static void set_ft_state(H3270FT *session, LIB3270_FT_STATE state); | @@ -160,11 +160,16 @@ static void set_ft_state(H3270FT *session, LIB3270_FT_STATE state); | ||
160 | return 0; | 160 | return 0; |
161 | } | 161 | } |
162 | 162 | ||
163 | - static void def_complete(H3270FT *ft, const char *errmsg,unsigned long length,double kbytes_sec,const char *mode) | 163 | + static void def_complete(H3270FT *ft,unsigned long length,double kbytes_sec,const char *mode) |
164 | { | 164 | { |
165 | 165 | ||
166 | } | 166 | } |
167 | 167 | ||
168 | + static void def_message(H3270FT *ft, const char *errmsg) | ||
169 | + { | ||
170 | + lib3270_write_log(ft->host,"ft","%s",errmsg); | ||
171 | + } | ||
172 | + | ||
168 | static void def_update(H3270FT *ft, unsigned long current, unsigned long length, double kbytes_sec) | 173 | static void def_update(H3270FT *ft, unsigned long current, unsigned long length, double kbytes_sec) |
169 | { | 174 | { |
170 | 175 | ||
@@ -189,20 +194,9 @@ static void set_ft_state(H3270FT *session, LIB3270_FT_STATE state); | @@ -189,20 +194,9 @@ static void set_ft_state(H3270FT *session, LIB3270_FT_STATE state); | ||
189 | LIB3270_EXPORT H3270FT * lib3270_ft_new(H3270 *session, LIB3270_FT_OPTION flags, const char *local, const char *remote, int lrecl, int blksize, int primspace, int secspace, int dft, const char **msg) | 194 | LIB3270_EXPORT H3270FT * lib3270_ft_new(H3270 *session, LIB3270_FT_OPTION flags, const char *local, const char *remote, int lrecl, int blksize, int primspace, int secspace, int dft, const char **msg) |
190 | { | 195 | { |
191 | H3270FT * ftHandle = NULL; | 196 | H3270FT * ftHandle = NULL; |
192 | - static const char * rec = "fvu"; | ||
193 | - static const char * un[] = { "tracks", "cylinders", "avblock" }; | ||
194 | - | ||
195 | - unsigned short recfm = (flags & FT_RECORD_FORMAT_MASK) >> 8; | ||
196 | - unsigned short units = (flags & FT_ALLOCATION_UNITS_MASK) >> 12; | ||
197 | - | ||
198 | FILE * ft_local_file = NULL; | 197 | FILE * ft_local_file = NULL; |
199 | unsigned long ft_length = 0L; | 198 | unsigned long ft_length = 0L; |
200 | 199 | ||
201 | - char op[4096]; | ||
202 | - char buffer[4096]; | ||
203 | - | ||
204 | - unsigned int flen; | ||
205 | - | ||
206 | // trace("%s(%s)",__FUNCTION__,local); | 200 | // trace("%s(%s)",__FUNCTION__,local); |
207 | if(!lib3270_connected(session)) | 201 | if(!lib3270_connected(session)) |
208 | { | 202 | { |
@@ -246,62 +240,112 @@ static void set_ft_state(H3270FT *session, LIB3270_FT_STATE state); | @@ -246,62 +240,112 @@ static void set_ft_state(H3270FT *session, LIB3270_FT_STATE state); | ||
246 | dft_buffersize = dft; | 240 | dft_buffersize = dft; |
247 | set_dft_buffersize(); | 241 | set_dft_buffersize(); |
248 | 242 | ||
249 | - ascii_flag = ((flags & LIB3270_FT_OPTION_ASCII) != 0); | ||
250 | - cr_flag = ((flags & LIB3270_FT_OPTION_CRLF) != 0); | ||
251 | - remap_flag = ((flags & LIB3270_FT_OPTION_ASCII) != 0); | 243 | + // Initialize ft control structure. |
244 | + ft_last_cr = False; | ||
245 | + ft_is_cut = False; | ||
246 | + | ||
247 | + ftHandle = lib3270_malloc(sizeof(H3270FT)+strlen(local)+strlen(remote)+3); | ||
248 | + | ||
249 | + ftHandle->sz = sizeof(H3270FT); | ||
250 | + ftHandle->host = session; | ||
251 | + ftHandle->flags = flags; | ||
252 | + ftHandle->local_file = ft_local_file; | ||
253 | + ftHandle->length = ft_length; | ||
254 | + ftHandle->state = LIB3270_FT_STATE_AWAIT_ACK; | ||
255 | + ftHandle->complete = def_complete; | ||
256 | + ftHandle->message = def_message; | ||
257 | + ftHandle->update = def_update; | ||
258 | + ftHandle->running = def_running; | ||
259 | + ftHandle->aborting = def_aborting; | ||
260 | + ftHandle->state_changed = def_state_changed; | ||
261 | + ftHandle->lrecl = lrecl; | ||
262 | + ftHandle->blksize = blksize; | ||
263 | + ftHandle->primspace = primspace; | ||
264 | + ftHandle->secspace = secspace; | ||
265 | + ftHandle->dft = dft; | ||
266 | + | ||
267 | + ftHandle->local = (char *) (ftHandle+1); | ||
268 | + strcpy((char *) ftHandle->local,local); | ||
269 | + | ||
270 | + ftHandle->remote = ftHandle->local + strlen(ftHandle->local)+1; | ||
271 | + strcpy((char *) ftHandle->remote,remote); | ||
272 | + | ||
273 | + session->ft = ftHandle; | ||
274 | + | ||
275 | + return ftsession = ftHandle; | ||
276 | + } | ||
252 | 277 | ||
253 | - if(flags & LIB3270_FT_OPTION_RECEIVE) | 278 | + LIB3270_EXPORT int lib3270_ft_start(H3270FT *ft) |
279 | + { | ||
280 | + static const char * rec = "fvu"; | ||
281 | + static const char * un[] = { "tracks", "cylinders", "avblock" }; | ||
282 | + | ||
283 | + char op[4096]; | ||
284 | + char buffer[4096]; | ||
285 | + unsigned int flen; | ||
286 | + unsigned short recfm; | ||
287 | + unsigned short units; | ||
288 | + | ||
289 | + CHECK_FT_HANDLE(ft); | ||
290 | + | ||
291 | + recfm = (ft->flags & FT_RECORD_FORMAT_MASK) >> 8; | ||
292 | + units = (ft->flags & FT_ALLOCATION_UNITS_MASK) >> 12; | ||
293 | + ascii_flag = ((ft->flags & LIB3270_FT_OPTION_ASCII) != 0); | ||
294 | + cr_flag = ((ft->flags & LIB3270_FT_OPTION_CRLF) != 0); | ||
295 | + remap_flag = ((ft->flags & LIB3270_FT_OPTION_ASCII) != 0); | ||
296 | + | ||
297 | + if(ft->flags & LIB3270_FT_OPTION_RECEIVE) | ||
254 | { | 298 | { |
255 | // Receiving file | 299 | // Receiving file |
256 | - lib3270_write_log(session,"ft","Receiving file %s",local); | 300 | + lib3270_write_log(ft->host,"ft","Receiving file %s",ft->local); |
257 | } | 301 | } |
258 | else | 302 | else |
259 | { | 303 | { |
260 | // Sending file | 304 | // Sending file |
261 | - if(fseek(ft_local_file,0L,SEEK_END) < 0) | 305 | + if(fseek(ft->local_file,0L,SEEK_END) < 0) |
262 | { | 306 | { |
263 | - *msg = N_( "Can't get file size" ); | ||
264 | - return NULL; | 307 | + ft_complete(ft,N_( "Can't get file size" )); |
308 | + return errno ? errno : -1; | ||
265 | } | 309 | } |
266 | 310 | ||
267 | - ft_length = ftell(ft_local_file); | 311 | + ft_length = ftell(ft->local_file); |
268 | 312 | ||
269 | - lib3270_write_log(session,"ft","Sending file %s (%ld bytes)",local,ft_length); | ||
270 | - rewind(ft_local_file); | 313 | + lib3270_write_log(ft->host,"ft","Sending file %s (%ld bytes)",ft->local,ft_length); |
314 | + rewind(ft->local_file); | ||
271 | } | 315 | } |
272 | 316 | ||
273 | /* Build the ind$file command */ | 317 | /* Build the ind$file command */ |
274 | snprintf(op,4095,"%s%s%s", | 318 | snprintf(op,4095,"%s%s%s", |
275 | - (flags & LIB3270_FT_OPTION_ASCII) ? " ASCII" : "", | ||
276 | - (flags & LIB3270_FT_OPTION_CRLF) ? " CRLF" : "", | ||
277 | - (flags & LIB3270_FT_OPTION_APPEND) ? " APPEND" : "" | 319 | + (ft->flags & LIB3270_FT_OPTION_ASCII) ? " ASCII" : "", |
320 | + (ft->flags & LIB3270_FT_OPTION_CRLF) ? " CRLF" : "", | ||
321 | + (ft->flags & LIB3270_FT_OPTION_APPEND) ? " APPEND" : "" | ||
278 | ); | 322 | ); |
279 | 323 | ||
280 | - if(!(flags & LIB3270_FT_OPTION_RECEIVE)) | 324 | + if(!(ft->flags & LIB3270_FT_OPTION_RECEIVE)) |
281 | { | 325 | { |
282 | - if(flags & LIB3270_FT_OPTION_TSO) | 326 | + if(ft->flags & LIB3270_FT_OPTION_TSO) |
283 | { | 327 | { |
284 | // TSO Host | 328 | // TSO Host |
285 | if(recfm > 0) | 329 | if(recfm > 0) |
286 | { | 330 | { |
287 | snconcat(op,4096," recfm(%c)",rec[recfm-1]); | 331 | snconcat(op,4096," recfm(%c)",rec[recfm-1]); |
288 | 332 | ||
289 | - if(lrecl > 0) | ||
290 | - snconcat(op,4096," lrecl(%d)",lrecl); | 333 | + if(ft->lrecl > 0) |
334 | + snconcat(op,4096," lrecl(%d)",ft->lrecl); | ||
291 | 335 | ||
292 | - if(blksize > 0) | ||
293 | - snconcat(op,4096," blksize(%d)", blksize); | 336 | + if(ft->blksize > 0) |
337 | + snconcat(op,4096," blksize(%d)", ft->blksize); | ||
294 | } | 338 | } |
295 | 339 | ||
296 | if(units > 0) | 340 | if(units > 0) |
297 | { | 341 | { |
298 | snconcat(op,4096," %s",un[units-1]); | 342 | snconcat(op,4096," %s",un[units-1]); |
299 | 343 | ||
300 | - if(primspace > 0) | 344 | + if(ft->primspace > 0) |
301 | { | 345 | { |
302 | - snconcat(op,4096," space(%d",primspace); | ||
303 | - if(secspace) | ||
304 | - snconcat(op,4096,",%d",secspace); | 346 | + snconcat(op,4096," space(%d",ft->primspace); |
347 | + if(ft->secspace) | ||
348 | + snconcat(op,4096,",%d",ft->secspace); | ||
305 | snconcat(op,4096,"%s",")"); | 349 | snconcat(op,4096,"%s",")"); |
306 | } | 350 | } |
307 | } | 351 | } |
@@ -313,20 +357,20 @@ static void set_ft_state(H3270FT *session, LIB3270_FT_STATE state); | @@ -313,20 +357,20 @@ static void set_ft_state(H3270FT *session, LIB3270_FT_STATE state); | ||
313 | { | 357 | { |
314 | snconcat(op,4096," recfm %c",rec[recfm-1]); | 358 | snconcat(op,4096," recfm %c",rec[recfm-1]); |
315 | 359 | ||
316 | - if(lrecl > 0) | ||
317 | - snconcat(op,4096," lrecl %d",lrecl); | 360 | + if(ft->lrecl > 0) |
361 | + snconcat(op,4096," lrecl %d",ft->lrecl); | ||
318 | 362 | ||
319 | } | 363 | } |
320 | } | 364 | } |
321 | } | 365 | } |
322 | 366 | ||
323 | snprintf(buffer,4095,"%s %s %s", "IND$FILE", | 367 | snprintf(buffer,4095,"%s %s %s", "IND$FILE", |
324 | - (flags & LIB3270_FT_OPTION_RECEIVE) ? "GET" : "PUT", | ||
325 | - remote ); | 368 | + (ft->flags & LIB3270_FT_OPTION_RECEIVE) ? "GET" : "PUT", |
369 | + ft->remote ); | ||
326 | 370 | ||
327 | if(*op) | 371 | if(*op) |
328 | { | 372 | { |
329 | - if(flags & LIB3270_FT_OPTION_TSO) | 373 | + if(ft->flags & LIB3270_FT_OPTION_TSO) |
330 | snconcat(buffer,4095," %s",op+1); | 374 | snconcat(buffer,4095," %s",op+1); |
331 | else | 375 | else |
332 | snconcat(buffer,4095," (%s)",op+1); | 376 | snconcat(buffer,4095," (%s)",op+1); |
@@ -338,40 +382,25 @@ static void set_ft_state(H3270FT *session, LIB3270_FT_STATE state); | @@ -338,40 +382,25 @@ static void set_ft_state(H3270FT *session, LIB3270_FT_STATE state); | ||
338 | flen = kybd_prime(); | 382 | flen = kybd_prime(); |
339 | if (!flen || flen < strlen(buffer) - 1) | 383 | if (!flen || flen < strlen(buffer) - 1) |
340 | { | 384 | { |
341 | - lib3270_write_log(session, "Unable to send command \"%s\" (flen=%d szBuffer=%d)",buffer,flen,strlen(buffer)); | ||
342 | - fclose(ft_local_file); | ||
343 | - *msg = _( "Unable to send file-transfer request" ); | ||
344 | - errno = EINVAL; | ||
345 | - return NULL; | 385 | + lib3270_write_log(ft->host, "Unable to send command \"%s\" (flen=%d szBuffer=%d)",buffer,flen,strlen(buffer)); |
386 | + ft_complete(ft,N_( "Unable to send file-transfer request" )); | ||
387 | + return errno = EINVAL; | ||
346 | } | 388 | } |
347 | 389 | ||
348 | trace_event("Sending FT request:\n%s\n",buffer); | 390 | trace_event("Sending FT request:\n%s\n",buffer); |
349 | 391 | ||
350 | - (void) lib3270_emulate_input(NULL, buffer, strlen(buffer), False); | ||
351 | - | ||
352 | - // Get this thing started. | ||
353 | - | ||
354 | - ft_last_cr = False; | ||
355 | - ft_is_cut = False; | 392 | + lib3270_emulate_input(ft->host, buffer, strlen(buffer), False); |
356 | 393 | ||
357 | - ftHandle = lib3270_malloc(sizeof(H3270FT)); | ||
358 | - | ||
359 | - ftHandle->sz = sizeof(H3270FT); | ||
360 | - ftHandle->host = session; | ||
361 | - ftHandle->ft_local_file = ft_local_file; | ||
362 | - ftHandle->length = ft_length; | ||
363 | - ftHandle->state = LIB3270_FT_STATE_AWAIT_ACK; | ||
364 | - ftHandle->complete = def_complete; | ||
365 | - ftHandle->update = def_update; | ||
366 | - ftHandle->running = def_running; | ||
367 | - ftHandle->aborting = def_aborting; | ||
368 | - ftHandle->state_changed = def_state_changed; | 394 | + if(ft->flags & LIB3270_FT_OPTION_RECEIVE) |
395 | + ft->message(ft,N_( "Waiting for GET response" )); | ||
396 | + else | ||
397 | + ft->message(ft,N_( "Waiting for PUT response" )); | ||
369 | 398 | ||
370 | - session->ft = ftHandle; | 399 | + return 0; |
371 | 400 | ||
372 | - return ftsession = ftHandle; | ||
373 | } | 401 | } |
374 | 402 | ||
403 | + | ||
375 | /* External entry points called by ft_dft and ft_cut. */ | 404 | /* External entry points called by ft_dft and ft_cut. */ |
376 | 405 | ||
377 | /** | 406 | /** |
@@ -391,10 +420,10 @@ void ft_complete(H3270FT *session, const char *errmsg) | @@ -391,10 +420,10 @@ void ft_complete(H3270FT *session, const char *errmsg) | ||
391 | (double)(t1.tv_usec - starting_time.tv_usec) / 1.0e6); | 420 | (double)(t1.tv_usec - starting_time.tv_usec) / 1.0e6); |
392 | 421 | ||
393 | // Close the local file. | 422 | // Close the local file. |
394 | - if(session->ft_local_file) | 423 | + if(session->local_file) |
395 | { | 424 | { |
396 | - fclose(session->ft_local_file); | ||
397 | - session->ft_local_file = NULL; | 425 | + fclose(session->local_file); |
426 | + session->local_file = NULL; | ||
398 | } | 427 | } |
399 | 428 | ||
400 | // Clean up the state. | 429 | // Clean up the state. |
@@ -402,7 +431,8 @@ void ft_complete(H3270FT *session, const char *errmsg) | @@ -402,7 +431,8 @@ void ft_complete(H3270FT *session, const char *errmsg) | ||
402 | 431 | ||
403 | ft_update_length(session); | 432 | ft_update_length(session); |
404 | 433 | ||
405 | - session->complete(session,errmsg,ft_length,kbytes_sec,ft_is_cut ? "CUT" : "DFT"); | 434 | + session->message(session,errmsg); |
435 | + session->complete(session,ft_length,kbytes_sec,ft_is_cut ? "CUT" : "DFT"); | ||
406 | 436 | ||
407 | } | 437 | } |
408 | 438 | ||
@@ -413,10 +443,10 @@ LIB3270_EXPORT void lib3270_ft_destroy(H3270FT *session) | @@ -413,10 +443,10 @@ LIB3270_EXPORT void lib3270_ft_destroy(H3270FT *session) | ||
413 | if (session->state != LIB3270_FT_STATE_NONE) | 443 | if (session->state != LIB3270_FT_STATE_NONE) |
414 | lib3270_ft_cancel(session,1); | 444 | lib3270_ft_cancel(session,1); |
415 | 445 | ||
416 | - if(session->ft_local_file) | 446 | + if(session->local_file) |
417 | { | 447 | { |
418 | - fclose(session->ft_local_file); | ||
419 | - session->ft_local_file = NULL; | 448 | + fclose(session->local_file); |
449 | + session->local_file = NULL; | ||
420 | } | 450 | } |
421 | 451 | ||
422 | if(session == ftsession) | 452 | if(session == ftsession) |
ft_cut.c
@@ -398,7 +398,7 @@ cut_data_request(void) | @@ -398,7 +398,7 @@ cut_data_request(void) | ||
398 | } | 398 | } |
399 | 399 | ||
400 | /* Check for errors. */ | 400 | /* Check for errors. */ |
401 | - if (ferror(((H3270FT *) h3270.ft)->ft_local_file)) { | 401 | + if (ferror(((H3270FT *) h3270.ft)->local_file)) { |
402 | int j; | 402 | int j; |
403 | 403 | ||
404 | /* Clean out any data we may have written. */ | 404 | /* Clean out any data we may have written. */ |
@@ -411,7 +411,7 @@ cut_data_request(void) | @@ -411,7 +411,7 @@ cut_data_request(void) | ||
411 | } | 411 | } |
412 | 412 | ||
413 | /* Send special data for EOF. */ | 413 | /* Send special data for EOF. */ |
414 | - if (!count && feof(((H3270FT *) h3270.ft)->ft_local_file)) { | 414 | + if (!count && feof(((H3270FT *) h3270.ft)->local_file)) { |
415 | ctlr_add(O_UP_DATA, EOF_DATA1, 0); | 415 | ctlr_add(O_UP_DATA, EOF_DATA1, 0); |
416 | ctlr_add(O_UP_DATA+1, EOF_DATA2, 0); | 416 | ctlr_add(O_UP_DATA+1, EOF_DATA2, 0); |
417 | count = 2; | 417 | count = 2; |
@@ -502,7 +502,7 @@ cut_data(void) | @@ -502,7 +502,7 @@ cut_data(void) | ||
502 | return; | 502 | return; |
503 | 503 | ||
504 | /* Write it to the file. */ | 504 | /* Write it to the file. */ |
505 | - if (fwrite((char *)cvbuf, conv_length, 1, ((H3270FT *) h3270.ft)->ft_local_file) == 0) { | 505 | + if (fwrite((char *)cvbuf, conv_length, 1, ((H3270FT *) h3270.ft)->local_file) == 0) { |
506 | cut_abort(SC_ABORT_FILE,_( "Error \"%s\" writing to local file (rc=%d)" ),strerror(errno),errno); | 506 | cut_abort(SC_ABORT_FILE,_( "Error \"%s\" writing to local file (rc=%d)" ),strerror(errno),errno); |
507 | } else { | 507 | } else { |
508 | ft_length += conv_length; | 508 | ft_length += conv_length; |
@@ -570,7 +570,7 @@ xlate_getc(void) | @@ -570,7 +570,7 @@ xlate_getc(void) | ||
570 | } | 570 | } |
571 | 571 | ||
572 | /* Get the next byte from the file. */ | 572 | /* Get the next byte from the file. */ |
573 | - c = fgetc(((H3270FT *) h3270.ft)->ft_local_file); | 573 | + c = fgetc(((H3270FT *) h3270.ft)->local_file); |
574 | if (c == EOF) | 574 | if (c == EOF) |
575 | return c; | 575 | return c; |
576 | ft_length++; | 576 | ft_length++; |
ft_dft.c
@@ -291,7 +291,7 @@ dft_data_insert(struct data_buffer *data_bufr) | @@ -291,7 +291,7 @@ dft_data_insert(struct data_buffer *data_bufr) | ||
291 | 291 | ||
292 | if (l) | 292 | if (l) |
293 | { | 293 | { |
294 | - rv = fwrite(s, l, (size_t)1,((H3270FT *) h3270.ft)->ft_local_file); | 294 | + rv = fwrite(s, l, (size_t)1,((H3270FT *) h3270.ft)->local_file); |
295 | if (rv == 0) | 295 | if (rv == 0) |
296 | break; | 296 | break; |
297 | ft_length += l; | 297 | ft_length += l; |
@@ -302,7 +302,7 @@ dft_data_insert(struct data_buffer *data_bufr) | @@ -302,7 +302,7 @@ dft_data_insert(struct data_buffer *data_bufr) | ||
302 | len -= l; | 302 | len -= l; |
303 | } | 303 | } |
304 | } else { | 304 | } else { |
305 | - rv = fwrite((char *)data_bufr->data, my_length,(size_t)1, ((H3270FT *) h3270.ft)->ft_local_file); | 305 | + rv = fwrite((char *)data_bufr->data, my_length,(size_t)1, ((H3270FT *) h3270.ft)->local_file); |
306 | ft_length += my_length; | 306 | ft_length += my_length; |
307 | } | 307 | } |
308 | 308 | ||
@@ -363,7 +363,7 @@ dft_get_request(void) | @@ -363,7 +363,7 @@ dft_get_request(void) | ||
363 | int c; | 363 | int c; |
364 | 364 | ||
365 | /* Read one byte and do CR/LF translation. */ | 365 | /* Read one byte and do CR/LF translation. */ |
366 | - c = fgetc(((H3270FT *) h3270.ft)->ft_local_file); | 366 | + c = fgetc(((H3270FT *) h3270.ft)->local_file); |
367 | if (c == EOF) { | 367 | if (c == EOF) { |
368 | break; | 368 | break; |
369 | } | 369 | } |
@@ -373,7 +373,7 @@ dft_get_request(void) | @@ -373,7 +373,7 @@ dft_get_request(void) | ||
373 | * Not enough room to expand NL to | 373 | * Not enough room to expand NL to |
374 | * CR/LF. | 374 | * CR/LF. |
375 | */ | 375 | */ |
376 | - ungetc(c, ((H3270FT *) h3270.ft)->ft_local_file); | 376 | + ungetc(c, ((H3270FT *) h3270.ft)->local_file); |
377 | break; | 377 | break; |
378 | } | 378 | } |
379 | *bufptr++ = '\r'; | 379 | *bufptr++ = '\r'; |
@@ -386,7 +386,7 @@ dft_get_request(void) | @@ -386,7 +386,7 @@ dft_get_request(void) | ||
386 | total_read++; | 386 | total_read++; |
387 | } else { | 387 | } else { |
388 | /* Binary read. */ | 388 | /* Binary read. */ |
389 | - numread = fread(bufptr, 1, numbytes, ((H3270FT *) h3270.ft)->ft_local_file); | 389 | + numread = fread(bufptr, 1, numbytes, ((H3270FT *) h3270.ft)->local_file); |
390 | if (numread <= 0) { | 390 | if (numread <= 0) { |
391 | break; | 391 | break; |
392 | } | 392 | } |
@@ -404,13 +404,13 @@ dft_get_request(void) | @@ -404,13 +404,13 @@ dft_get_request(void) | ||
404 | numbytes -= numread; | 404 | numbytes -= numread; |
405 | total_read += numread; | 405 | total_read += numread; |
406 | } | 406 | } |
407 | - if (feof(((H3270FT *) h3270.ft)->ft_local_file) || ferror(((H3270FT *) h3270.ft)->ft_local_file)) { | 407 | + if (feof(((H3270FT *) h3270.ft)->local_file) || ferror(((H3270FT *) h3270.ft)->local_file)) { |
408 | break; | 408 | break; |
409 | } | 409 | } |
410 | } | 410 | } |
411 | 411 | ||
412 | /* Check for read error. */ | 412 | /* Check for read error. */ |
413 | - if (ferror(((H3270FT *) h3270.ft)->ft_local_file)) | 413 | + if (ferror(((H3270FT *) h3270.ft)->local_file)) |
414 | { | 414 | { |
415 | dft_abort(TR_GET_REQ, _( "Error \"%s\" reading from local file (rc=%d)" ), strerror(errno), errno); | 415 | dft_abort(TR_GET_REQ, _( "Error \"%s\" reading from local file (rc=%d)" ), strerror(errno), errno); |
416 | return; | 416 | return; |
@@ -436,7 +436,7 @@ dft_get_request(void) | @@ -436,7 +436,7 @@ dft_get_request(void) | ||
436 | 436 | ||
437 | ft_length += total_read; | 437 | ft_length += total_read; |
438 | 438 | ||
439 | - if (feof(((H3270FT *) h3270.ft)->ft_local_file)) | 439 | + if (feof(((H3270FT *) h3270.ft)->local_file)) |
440 | { | 440 | { |
441 | dft_eof = True; | 441 | dft_eof = True; |
442 | } | 442 | } |