| 498 char *buffer = NULL; |
498 char *buffer = NULL; |
| 499 size_t r; |
499 size_t r; |
| 500 |
500 |
| 501 if (condition & GAIM_INPUT_READ) { |
501 if (condition & GAIM_INPUT_READ) { |
| 502 r = gaim_xfer_read(xfer, &buffer); |
502 r = gaim_xfer_read(xfer, &buffer); |
| 503 if (r > 0) { |
503 if (r > 0) |
| 504 fwrite(buffer, 1, r, xfer->dest_fp); |
504 fwrite(buffer, 1, r, xfer->dest_fp); |
| 505 } else { |
|
| 506 gaim_xfer_cancel_remote(xfer); |
|
| 507 return; |
|
| 508 } |
|
| 509 } |
505 } |
| 510 else { |
506 else { |
| 511 size_t s = MIN(gaim_xfer_get_bytes_remaining(xfer), 4096); |
507 size_t s = MIN(gaim_xfer_get_bytes_remaining(xfer), 4096); |
| 512 |
508 |
| 513 buffer = g_malloc0(s); |
509 buffer = g_malloc0(s); |