| 83 | | |
|---|
| 84 | | if(bytes > 0) { |
|---|
| 85 | | transfer->transferred += bytes; |
|---|
| 86 | | wr_received_bytes += bytes; |
|---|
| 87 | | |
|---|
| 88 | | if(wi_file_write_buffer(transfer->file, buf, bytes) < 0) { |
|---|
| 89 | | wr_printf_prefix(WI_STR("Could not write to %@: %m"), |
|---|
| 90 | | transfer->local_path); |
|---|
| | 83 | |
|---|
| | 84 | if(transfer) { |
|---|
| | 85 | if(bytes > 0) { |
|---|
| | 86 | transfer->transferred += bytes; |
|---|
| | 87 | wr_received_bytes += bytes; |
|---|
| | 88 | |
|---|
| | 89 | if(wi_file_write_buffer(transfer->file, buf, bytes) < 0) { |
|---|
| | 90 | wr_printf_prefix(WI_STR("Could not write to %@: %m"), |
|---|
| | 91 | transfer->local_path); |
|---|
| | 92 | |
|---|
| | 93 | wr_transfer_stop(transfer); |
|---|
| | 94 | } else { |
|---|
| | 95 | wr_draw_transfers(false); |
|---|
| | 96 | } |
|---|
| | 97 | } else { |
|---|
| | 98 | if(bytes < 0) { |
|---|
| | 99 | wr_printf_prefix(WI_STR("Transfer of \"%@\" failed: %m"), |
|---|
| | 100 | transfer->name); |
|---|
| | 101 | } else { |
|---|
| | 102 | if(transfer->transferred == transfer->size) { |
|---|
| | 103 | wr_printf_prefix(WI_STR("Transfer of \"%@\" completed"), |
|---|
| | 104 | transfer->name); |
|---|
| | 105 | |
|---|
| | 106 | path = wi_string_by_deleting_path_extension(transfer->local_path); |
|---|
| | 107 | |
|---|
| | 108 | wi_file_rename(transfer->local_path, path); |
|---|
| | 109 | } else { |
|---|
| | 110 | wr_printf_prefix(WI_STR("Transfer of \"%@\" stopped"), |
|---|
| | 111 | transfer->name); |
|---|
| | 112 | } |
|---|
| | 113 | } |
|---|
| 96 | | } else { |
|---|
| 97 | | if(bytes < 0) { |
|---|
| 98 | | wr_printf_prefix(WI_STR("Transfer of \"%@\" failed: %m"), |
|---|
| 99 | | transfer->name); |
|---|
| 100 | | } else { |
|---|
| 101 | | if(transfer->transferred == transfer->size) { |
|---|
| 102 | | wr_printf_prefix(WI_STR("Transfer of \"%@\" completed"), |
|---|
| 103 | | transfer->name); |
|---|
| 104 | | |
|---|
| 105 | | path = wi_string_by_deleting_path_extension(transfer->local_path); |
|---|
| 106 | | |
|---|
| 107 | | wi_file_rename(transfer->local_path, path); |
|---|
| 108 | | } else { |
|---|
| 109 | | wr_printf_prefix(WI_STR("Transfer of \"%@\" stopped"), |
|---|
| 110 | | transfer->name); |
|---|
| 111 | | } |
|---|
| 112 | | } |
|---|
| 113 | | |
|---|
| 114 | | wr_transfer_stop(transfer); |
|---|