Ejemplo n.º 1
0
static void _wi_file_dealloc(wi_runtime_instance_t *instance) {
    wi_file_t   *file = instance;
    
    wi_file_close(file);
    
    wi_release(file->path);
}
Ejemplo n.º 2
0
void wr_transfer_close(wr_transfer_t *transfer) {
	wi_string_t		*local_path, *path;
	
	if(transfer->type == WR_TRANSFER_DOWNLOAD && transfer->state == WR_TRANSFER_FINISHED) {
		local_path = wi_array_first_data(transfer->local_paths);
		path = wi_string_by_deleting_path_extension(local_path);
		wi_fs_rename_path(local_path, path);
	}
	
	wi_mutable_array_remove_data_at_index(transfer->remote_paths, 0);
	wi_mutable_array_remove_data_at_index(transfer->local_paths, 0);
	wi_mutable_array_remove_data_at_index(transfer->files, 0);
    
	if(transfer->file) {
		wi_file_close(transfer->file);
		wi_release(transfer->file);
		transfer->file = NULL;
	}
    
	wi_release(transfer->key);
	transfer->key = NULL;
    
	wi_release(transfer->checksum);
	transfer->checksum = NULL;
    
	if(transfer->socket) {
		wr_runloop_remove_socket(transfer->socket);
		wi_socket_close(transfer->socket);
		wi_release(transfer->socket);
		transfer->socket = NULL;
	}
}
Ejemplo n.º 3
0
wi_string_t * wi_string_init_with_contents_of_file(wi_string_t *string, wi_string_t *path) {
	wi_file_t       *file;
	
	wi_release(string);
		
	file = wi_file_for_reading(path);
	
	if(!file)
		return NULL;
	
	string = wi_file_read_to_end_of_file(file);
	
	wi_file_close(file);
	
	return wi_retain(string);
}