rem: if (!(packet = opn_packet_new())) return FALSE;
context: BOOL opennap_download_start(Protocol *p, Transfer *transfer,                            Chunk *chunk, Source *source){	OpnDownload *download;	OpnSession *session;	OpnPacket *packet;	BOOL ret;	if (!(download = opn_download_new()))		return FALSE;	download->chunk = chunk;	download->url = opn_url_unserialize(source->url);	if (!(session = opn_session_find(download->url))) {		opn_download_free(download);		return FALSE;	}		if (!(packet = opn_packet_new()))		return FALSE;	opn_packet_set_cmd(packet, OPN_CMD_DOWNLOAD_REQUEST);		opn_packet_put_str(packet, download->url->user, FALSE);	opn_packet_put_str(packet, download->url->file, TRUE);	ret = opn_packet_send(packet, session->con);	opn_packet_free(packet);		return ret;}